보통의 시작

git clone [ 원격지 url ]
git remote update
git branch -[r(remote) 혹은 a(전체) ]
git checkout -t [/remote를 제외한 원하는 작업 브랜치]
git push/fetch/pull
  • git clone : 원격지 origin을 복제한다. 원격지 브랜치 정보는 복제되지 않을 수 있다.
  • git remote update : 원격지 정보를 업데이트한다. 브랜치 정보 및 각종 원격지 정보를 사전에 업데이트한다.
  • git branch -[r 혹은 a] : 로컬/원격지 브랜치를 확인한다.
  • git checkout -t [/remote를 제외한 원하는 작업 브랜치] : 원하는 브랜치로 checkout한다. 단, 원격지 브랜치의 경우 앞에 /remote는 제외한다.
  • git push/fetch/pull : 원격지 밀어넣기/받아오기/받아오고 병합하기 작업을 수행한다.

Git revert

  • commit 번호에 해당하는 작업상태 이전으로 되돌린 상태로 commit한다.
    • commit 번호는 subvision에 리비전번호와 동일하다.
  • subversion에서의 revert는 info에 지정된 리비전번호에 작업된 상태로 초기화? 하는 작업이고, Git에서 revert는 commit번호에서 작업한 내용 이전으로 되돌린다는 작업이라는 점에서 차이점이 있다.
    • ex) 특정브랜치의 특정 번호(svn : r10, git : 0x09 라고하자)를 checkout해서 git은 a를 수정해서 commit하여 커밋번호를 0x0a로 변경하고, svn은 a를 수정했을때, `svn revert a`는 a파일을 checkout 받았을때 상태로 되돌리고, `git revert 0a`는 0x09상태로 commit한다.
    • 참고) svn에서 `git revert`와 같이 특정 리비전상태로 돌리고 싶으면 리비전 번호끼리 머지 작업을 해야한다. `svn merge r10 r9`를 쓰고 commit하면 된다. 자세한 방법은 [subversion](Subversion.md)페이지 **과거리비전 상태로 변경하기( Hard Rollback )**항목 참고.
  • 정리하자면 git에서 revert는 hard rollback이다.
  • 유사하지만 commit이력을 남기지 않는 작업으로 `git reset`이 있다.

'CVS > Git' 카테고리의 다른 글

Github 인증  (0) 2022.05.20
Git commit  (0) 2022.05.20
Git status  (0) 2022.05.20
Git init  (0) 2022.05.20
로컬 저장소로 보통의 시작  (0) 2022.05.20

Git commit

  • 현재 status를 저장한다.
  • `git config user.email "[email]"``git config user.name "[name]"` 을 설정해야 commit할 수 있다.
    • `--global` 옵션을 붙이면 `$HOME/.gitconfig`에 config가 저장되고, 로그인한 유저가 어느 경로에서 commit하던 default commit정보로 사용된다.
    • `--global`옵션이 없으면 해당 브랜치 루트경로에 `.git/config` 에 저장되고, 그 브랜치에서 default commit정보로 사용된다.
  • `-m "[Message]"` 옵션으로 커밋메세지를 지정하여 vim에디터를 따로 키지 않고 커밋할 수 있다.

'CVS > Git' 카테고리의 다른 글

Github 인증  (0) 2022.05.20
Git revert  (0) 2022.05.20
Git status  (0) 2022.05.20
Git init  (0) 2022.05.20
로컬 저장소로 보통의 시작  (0) 2022.05.20

+ Recent posts