2016-12-15 61 views
1

我一直在GIT工作了3年,但不記得面臨這個問題。 我已經創建了一個新的存儲庫,其中每個分支都有不同的代碼。文件夾結構在外層大致相同,但每個分支有一些子文件夾和幾個文件(相當常見)。轉換分支帶來以前分支的提交文件夾和文件

我有一個空的分支,我用它來創建新的客戶分支。我從這裏創建了'n'個客戶分支。對於1st Customer分支,我將代碼從我的本地複製到第1分支。致力於推動變革。現在,當我檢出第二個分支時(理想情況下應該是空的),但第一個分支代碼保留爲未跟蹤文件。在將新代碼複製到每個分支之前,我正在做一個清潔-df。

爲什麼我會將承諾從上一次使用的分支更改爲我的新分支作爲未跟蹤文件?

Git版本 - 1.7

+0

Git版本?這確實不是預期的行爲。 – 1615903

+0

是的..我一直在爲所有分支重複這一點。行爲是恆定的。版本 - 1.7.11.4 – user2552451

+0

您檢出的第二個分支的來源是什麼? –

回答

0

只要你承諾,推動了第一支,這是master,你所定義的出發點是在你的資料庫的內容。每一個在此之後的分支都將與這個起點相關。所以當你跑git clean -df你沒有回到「空」,你只是刪除所有文件被跟蹤。當你粘貼你的第二個分支文件時,所有東西都顯示爲未被跟蹤。

我認爲這裏最合乎邏輯的意義是用一個分支來初始化你的新存儲庫,這個分支是所有客戶分支的共同祖先。在此之後,您可以爲特定客戶打開所有文件,創建分支並將其推送到新的存儲庫。

+0

我的第一個分支不是主人。碩士是最初的分支。我從主人創建了所有客戶分支。因此,在添加代碼之前,所有分支最初都是空的, – user2552451

+0

是的,但是'master'在哪個存儲庫中,舊的還是新的?你知道Git中的每個分支,除了可能在'master'中首先提交的東西,只是一個相對於其他分支/提交的指針嗎? –

+0

@TimBiegeleisen(孤兒分支除外) - OP描述的行爲會發生。 – 1615903