git을 알음알음 사용하다 보니, 한번 정리의 필요성을 느껴 기본부터 정리하는 과정.앞부분은 remote server와 pull push 하지 않고 local 에서만 작업 한다.
git의 merge 와 관련된 기능 정리가장 기본적인 merge이며 실상황에서 쓰일일은 거의없음.master branch 에서 새로운 branch(bugfix)를 복사생성하여 commit이 여러개 진행 되고master branch 에는 아무런 변경사항이 없는 상황에서
전자는 unstaged 된 (=git add 된것은 제외)후자는 staged 유무와 상관없이 diff 를 보여줌즉 HEAD와의 모든차이점을 보여준다.(last commit과의 차이점)staged 된 차이점만 보여준다.특정 파일에 대해서만 diff 사항을 보여줌branc
특정 브랜치에서 작업은하였으나, commit은 안한상태에서다른 브랜치로 switch 할때 필요한 commandb1->master 로 switch시 main.py 에서 conflict 가 일어남conflict 될 요소가없다면 switch 되는 경우도 있음. (FastFo
대부분의 경우 git checkout <commit-hash> 을 하면detached head 상태가 된다.head 는 기본적으로 특정 브랜치를 참조한다.이말은 head는 특정브랜치의 최신 commit을 가르킨다는 것이다.(branch ref 와 head의 위치가
기본적으로 checkout 이 구명령어이고 대부분의 작업을 수행가능.switch 와 restore는 신규명령어로 checkout의 기능을양분한다고 보면됨.git checkout HEAD <file-name> 나 git checkout -- <file-nam
reset: 재설정revert: 되돌리기비슷하지만 약간 다름reset은 커밋을 제거하고 브랜치 포인터를 해당위치로 이동시키지만revert는 변경사항을 삭제하는 커밋을 새로 하는 형태라 보면됨.일종의 soft reset해당 commit으로 돌아가지만 작업내용은 남아있음.
github 나 gitlab 같은 저장소의 repo를 local로 clone 해 가져온다.해당명령어는 github나 gitlab에 종속된것이 아닌 git 자체의 명령어이다.
remote 저장소로 repo를 push(git자체명령어임)remote 저장소에 local 저장소의 branch를 pushremote 에 있는 branch를 업데이트 하거나 아니면로컬에만 있던 branch를 신규로 remote에 추가하던가 할수 있음위의 경우는 loac
fetch는 remote으로부터 local로 변경사항을 가져오고(실제로 파일변경x 확인가능)pull은 실제 workspace의 작업을 변경remote 이름까지 작성시 모든 브랜치, branch 명 입력시 특정 branch 지정fetch를 통해 local repo에는 b
git merge 대용cleanup( git history 제거)
remote에 이미 올라간 pycache 처리.혹은 기타 .gitignore 에 추가 하고 싶은데이미 remote 에 올라간 파일들에 대한 처리.gitignore 에 \_\_pycache 작성shell 실행 find . | grep -E "(\_\_pycache\_\_
remote 저장소에 올라간 branch 를 삭제하는 방법.유저 권한에 따라 안될수도 있을거같긴함.ex)
git fetch -p origin''' remote 에서 branch 삭제되는등 실제 remote branch 랑 로컬에서 보는 remote 브랜치 다를때