Chapter_1_Git(4)

3444 단어 gitgit

Summary

  • git mv
  • undoing
  • unstaging
  • commit message 재작성
  • Create Pull Request

Daily Tutorial

1. git mv

  1. dev에 임의의 파일을 생성한다(README.md 생성).
  2. README.md의 파일명을 mvTest.md로 바꿔본다
  3. 상태를 확인하면 git은 README.md를 삭제된 파일로, mvTest.md를 새로 생성된 파일로 인식한다(mvTest.md를 다시 README.md로 바꿔주면 git 상태도 되돌려진다).
  4. 위와 같은 상태가 되지 않으면서 파일명을 변경하려면 git mv 명령을 쓴다.
git mv README.md mvTest.md
  1. 상태를 확인하면 rename으로 정상 인식한다.

2. Undoing

  1. dev에 임의의 파일을 생성하고 아무 내용이나 편집해 저장한다(README.md 생성).
  2. restore 명령으로 작업을 되돌릴 수 있다. 시점은 최신 커밋 상태로 돌아간다(git구버전은 checkout).
git restore README.md	//여러 파일의 작업도 모두 되돌릴 수 있다

3. Unstaging

  1. dev에 임의의 파일을 생성하고(README.md 생성) add 한다.
  2. reset 명령으로 unstaging 해준다.
git reset HEAD README.md	//주의! HARD 옵션을 주면 커밋까지 날아간다!

4. Commit Message 재작성

git commit --amend

5. Revert

  1. A.md, B.md, C.md를 만들고 커밋 메시지를 틀린 내용으로 적는다.
git revert --no-commit HEAD~3..		//HEAD부터 3개 revert
  1. ls로 확인하면 생성했던 3개의 md파일이 사라져 있다.
    커밋을 왜 지우지 않고 되돌리는지, reset과 revert의 차이 숙지할 것.
  2. 다시 커밋하면 커밋 메시지가 이미 적혀있다.

6. Create Pull Request

6-1. 팀장(start)

  1. repo 생성
  • README.md
  • MIT License
  1. dev에 clone하고 git flow 적용
git flow init
  1. develop 브랜치에서 파일 생성
  • test.md
  1. add+commit+push
  2. Github에 develop 브랜치로 push
git push origin develop

6-2. 팀원(pull request)

  1. 팀장 repo의 develop 브랜치를 확인한 후 fork
  2. clone 후 git flow 적용하고 develop 브랜치 확인(test.md)
  3. 기능 개발 시작
git flow feature start HELLO
//test.md 편집
  1. add+commit 후 기능 개발 종료
git flow feature finish HELLO
  1. repo의 develop 브랜치로 push
git push origin develop
  1. pull request 작성

6-3. 팀장(merge and finish)

  1. 팀원이 보낸 pull request 확인
  2. pull 또는 fetch+merge
git pull URL

git fetch origin develop
git merge FETCH_HEAD

//팀원 역시 코드를 최신으로 유지하려면
//git remote add upstream 팀장URL 후 fetch or pull

Commands

git config --list
git config --global user.name "NAME"
git config --global user.email "[email protected]"
git config --global core.editor "vim"
git config --global core.pager "cat"

git clone URL
git status
git add FILE
git commit
git push origin main

git init
git remote -v
git remote add origin URL
git remote remove mask

git branch
git branch -M main 	//브랜치가 master일 경우
git switch BRANCH	//구버전은 switch > checkout
git merge BRANCH	//main에서 진행
git branch -D BRANCH

git flow init
git flow feature start NAME		//종료 시 finish
git flow release start VERSION	//종료 시 finish

좋은 웹페이지 즐겨찾기