git, github 명령어, 사용법

git 명령어와 github의 사용법을 알아보자.
윤여찬's avatar
Sep 25, 2023
git, github 명령어, 사용법

add

  • 작업 폴더에서 작업한 변경을 stage에 올릴 때 사용하는 명령어 add한 파일이 tracked 상태가 되어 파일을 지정해서 올릴 수 있고, 경로를 지정해서 변경된 모든 파일을 올릴 수 도 있다.
$ git add 파일1, 파일2 $ git add .

commit

  • git add 명령어로 stage에 추가한 수정 파일을 git 저장소에 저장
    • 주의할 점은 stage에 올려놓지 않은 untracked 파일은 커밋이 되지 않는다.
$ git commit -m "커밋 메세지"

push

  • commit한 파일을 원격 저장소에 올리는 명령어
$ git push origin master

fetch

  • 로컬에는 없지만 원격 저장소에 올라가 있는 데이터를 모두 가져옴 자동으로 merge작업을 하지 않기에 내가 손봐야함
git fetch orign

pull

  • 원격 저장소의 데이터를 가져오고, 자동으로 현재 작업하는 로컬 브랜치와 merge fetch + merge
    • pull을 수시로 하라고 권고? 왜?
      • push하기 전에 pull을 하지 않으면 이미 원격 저장소에 변경 사항이 일어 났을 때 push에 실패함, 수시로 원격 저장소에 있는 변경사항을 pull 받는 것이 충돌 예방에 최선이라고한다?
$ git pull origin master

merge

  • 브랜치 병합, 현재 작업 중인 브랜치에 합칠 커밋을 지정해서 병합한다.
$ git merge <commit>

reset

  • origin에 올리지 않고 로컬에 커밋이 머물럿다면, 올라갔어도 나만 해당 브랜치를 사용한다면 reset을 써도 된다.
$ git reset --option 돌아갈 커밋

rerert

  • revert는 reset과 다르게 커밋을 삭제하는 것이 아닌 커밋을 추가한다. 그러나 이전 커밋과 정반대의 데이터를 추가하는 방식으로 코드를 되돌린다.
$ git commit -m "1번 커밋" $ git revert [1번 commit hash]

cherry-pick

  • git cherry-pick 명령이 어떤 것인지 알기 위해서는 git으로 관리되는 커밋들을 그림으로 그려볼 필요가 있다.
    • notion image
  • 두개의 브랜치 branch Xbranch Y 가 있다고 하자. 현재 branch Y 를 개발하고 있는 상황에서 branch X 에 적용되어 있는 3개의 커밋을 가져와서 반영하고 싶은 상황이다.
    • 555f8b4, 8f618a0, 480b6bbbranch Y에 반영하고 싶은 상황이다.
$ git cherry-pick 555f8b4 8f618a0 480b6bb
  • 이럴 때 cherry-pick을 사용할 수 있다. 이렇게 하면 아래의 사진 처럼 병합이된다.
notion image

github Desktop 사용법

깃 명령어를 입력하지 않아도 데스크탑 프로그램을 통해서 git 사용을 편리하게 할 수 있다.
→ 커밋 메세지를 입력 후 커밋을 명령어 없이할 수 있다.

깃허브(github) commit, push 방법

명령어 없이 Desktop 기능을 사용하여 commit과 push가 가능합니다.
notion image
notion image
메세지를 작성 후에 commit to main 버튼을 클릭하게 되면 push가 활성화 된 것을 아래 이미지 처럼 확인할 수 있습니다.
notion image
만약 방금 commit 한 파일을 취소하고 싶을 경우 왼쪽 하단에 Undo 버튼을 눌러 취소가 가능합니다.

깃허브(github) 브랜치(branch) 생성

branch를 생성하여 작업이 가능합니다.
notion image
new branch를 통해 branch를 생성할 수 있고 브랜치 생성을 한 후
notion image
notion image
바로 생성한 브랜치를 확인할 수 있습니다.
notion image
chose a branch to marge into soket-item 버튼을 통해 merge를 진행할 수 있습니다~
 
Share article

찬찬잉