2013-08-07 72 views
1

我有我的git主 - 我的電腦本地回購 - 沒有遠程回購任何地方。在一個分支Git編輯導致另一個分支編輯沒有合併/推/拉

說我在目錄maths

我做的:

git branch relative_imports 
git checkout relative_imports 
... do some work, add a file, make a file, etc. 

運行git status在這一點上顯示你所期望的變化。

如果我這樣做(沒有做任何合併,拉或推):

git checkout master 
git status 

它顯示了以前git status完全相同的輸出。難道我做錯了什麼?我以爲我不應該看到relative_imports的變化,直到我做了git merge relative_imports

+2

你提交了任何文件嗎?這聽起來像你用'git add'將它們添加到索引中,但還沒有用'git commit'提交它們。 –

回答

4

如果您在git status中看到這些文件,您尚未添加並提交它們。因此,他們不是任何承諾的一部分,也不是任何分支,所以git checkout不會觸及它們。

使它們成爲提交的一部分,您將開始看到您期望的行爲。

+1

不要害怕在分支上進行「wip」提交...之後你總是可以用「rebase」來整理。 – blockhead

+0

我剛剛測試過,你是對的。自從做了'git add -A:/','git checkout -m「'''',然後在兩個分支中的'git status'都給出了乾淨的狀態,這讓我相信在一個分支中的git commit已經提交兩個分支的變化。 – nebffa

+0

因此,Git不會將您對文件所做的更改限制在您直接承諾的分支上。在進行這些更改之前,似乎已對在相同HEAD下運行的分支進行了更改。 – nebffa

相關問題