이의 내가 마스터 분기에 오전한다고 가정 해 봅시다 다른 분기에 unstaged 변경을 실행 취소, 나는커밋 변경
한 다음 temp.py
1 커밋 한 파일을 가지고 2) 채널) 내가 add
temp.py
및 commit
이
4를 변경, 기능 분기))
3() 다른 지점 (feature
체크 아웃 나는 파일을 추가하거나 커밋하지 않습니다 마스터
$ git branch
* master
$ cat temp.py
print "Hello World"
$ echo "print \"Bye Bye\"" >> temp.py
$ cat temp.py
print "Hello World"
print "Bye Bye"
$ git checkout -b feature
M temp.py
Switched to a new branch 'feature'
$ git add temp.py
$ git commit -am "added Bye Bye to temp.py"
[feature d8e363a] added Bye Bye to temp.py
1 file changed, 1 insertion(+)
$ git checkout master
Switched to branch 'master'
$ cat temp.py
print "Hello World"
$
add
전에
및 commit
기능 분기에, temp.py
했다 :
temp.py
로 만든 원래의 변화가 취소입니다 여기
은 위의 단계를 수행하는 코드입니다
print "Hello World"
print "Bye Bye"
는 는
그러나 기능에 대한 add
및 commit
후, 변경 사항이 취소되었고, 나는 끝났다 :
print "Hello World"
내가 feature
분기에 커밋 변경 master
지점에 영향을 미치는 이유에 의아해 오전, 왜 이런 일이 무엇입니까?
이 예제는 git의 일반적인 사용법이 아니라는 것을 알고 있지만 이해할 수없는 git의 일부 측면에 밑줄을 긋고 있습니다.
이 질문은 내가 묻는 것과 관련이 있습니다 : Checkout another branch when there are uncommitted changes on the current branch,하지만 거기서 내 질문에 대한 답을 찾을 수 없었습니다.