ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [git/gitbub] Summary
    Summary/[Git,GitHub] Summary 2024. 1. 23. 13:54

    <Git을 쓰는 이유>

     

    Git은 프로젝트의 버전을 관리할 수 있어 여러 사람들이 협업하는 데 도와준다.

     

    <설치>

    Git 설치 후 

    git --version
    
    # 협업시 윈도우와 맥에서 엔터 방식 차이로 인한 오류 방지를 위한 명령어
    git config --global core.autocrlf true

    + SourceTree , VS CODE 설치

    SourceTree는  git을 UI형식으로 사용할 수 있게 해주는 프로그램

    <최초 설정>

    git config --global user.name "본인 이름"
    git config --global user.email "본인 이메일"
    #확인
    
    git config --global user.name
    git config --global user.email
    #기본 브랜치명 변경 ( 브랜치는 추후 설명 )
    git config -global init.defaultBranch main
    #프로젝트 생성 & Git 관리 시작
    git init # .git폴더 생성
    
    #현재 git 폴더 상태 확인
    git status

     

    <깃에 올리지않고 무시하기>

    .gitignore 파일 안에 파일이름 등록
    
    # 주석
    
    # 모든 file.c
    file.c
    
    # 최상위 폴더의 file.c
    /file.c
    
    # 모든 .c 확장자 파일
    *.c
    
    # .c 확장자지만 무시하지 않을 파일
    !not_ignore_this.c
    
    # logs란 이름의 파일 또는 폴더와 그 내용들
    logs
    
    # logs란 이름의 폴더와 그 내용들
    logs/
    
    
    # logs 폴더 바로 안의 debug.log와 .c 파일들
    logs/debug.log
    logs/*.c
    
    # logs 폴더 바로 안, 또는 그 안의 다른 폴더(들) 안의 debug.log
    logs/**/debug.log

     

     

    <파일 하나 추가하기>

    git add test1.yaml

    <모든 파일 추가하기>

    git add .

    <커밋>

    git commit -m "First Commit"

    <add와 commit을 한번에> // untracked 파일이 없어야 된다.

    git commit -am "메시지"

    <내역 확인>

    git log

    <이전으로 돌아가기>

    1) reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 제거

    2) revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행

    <reset>

    git log
    #되돌아갈 시점의 커밋 해시 복사
    git reset --hard (복사한 해시)
    
    git reset --hard # 해시를 안쓰면 마지막 커밋으로 돌아감

    <revert>

    git revert (되돌릴 커밋 해시)
    
    # 커밋하지 않고 revert 하기
    git revert --no-commit (되돌릴 커밋 해시)

     

    <브랜치 생성/이동/삭제>

    브랜치 : 분기된 가지로 프로젝트를 하나 이상의 모습으로 관리해야 할 때와 여러 작업들이 각각 독립되어 진행될 때 사용한다. 

    git branch test # 브랜치 생성
    
    git branch # 브랜치 목록 확인
    
    git switch test # 해당 브랜치로 이동
    
    # 브랜치 생성과 이동을 동시에
    git switch -c new-test
    
    # 브랜치 삭제
    git branch -d new-test # -D 는 강제삭제
    
    # 여러 브랜치의 내역 보기
    git log --all --decorate --oneline --graph

    <브랜치 합치기>

    1) merge : 두 브랜치를 한 커밋에 이어붙임

    - 브랜치의 사용내역을 기록해둬야 할 필요가 있을 때 적합한 방식

    2) rebase : 브랜치를 다른 브랜치에 이어붙임

    -- 한 줄로 깔끔하게 정리된 내역을 유지하고 싶을 때 적합한 방식

    - 이미 팀과 공유된 커밋들에 대해서는 사용하지 않는 게 좋음.

    git merge test # main branch로 merge
    
    git branch test
    git rebase main # test로 이동후 rebase할 브랜치를 작성

    <충돌 해결>

    git merge --abort # merge 충돌 중단
    
    git rebase --aobrt # rebase 충돌 중단
    
    git rebase --continue # 충돌 부분 수정 후 진행

    <GitHub>

    GitHub는 프로젝트 파일들을 관리할 수 있는 git의 원격 저장소다.

    # 로컬에 원격 저장소 추가 후 푸시하기
    
    # 깃허브 레포지토리 생성 후 복붙 명령어
    git remote add origin (원격 저장소 주소)
    
    git branch -M main # 기본 브랜치명 변경
    
    git push -u origin main # 로컬 저장소의 커밋 내역들을 원격으로 업로드(push)
    
    git remote # 원격 목록 보기
    
    #git remote remove (origin) # origin 원격 지우기

    <프로젝트 다운받기>

    git clone (원격 저장소 주소)

    <push 와 pull>

    1) push : 원격으로 커밋 밀어올리기

    git push

    2) pull : 원격의 커밋 당겨오기

    git pull

     

    <원격의 브랜치 로컬에 받아오기>

    git fetch
Designed by Tistory.