[英]Git deleting files upon branch checkout
我有一個目錄,其中包含一些分布在多個文件中的代碼。 該代碼不受版本控制。 所以,我在頂層創建了一個 git repo。 但是,由於目錄中有多個文件,我只想將我打算修改的文件添加到我的 git repo 中。 我git ignore
d 其余的文件。
但是,這是我遇到的一個問題。一開始,我的倉庫沒有文件。 然后,我在foo.hpp
上檢查foo.cpp
和branch1
。 然后,在不移動HEAD
,我創建了branch2
並檢查了bar.cpp
和bar.hpp
。 現在,如果我檢出branch1
,git 會刪除文件foo.cpp
和foo.hpp
。
我猜 git 會清理文件,因為它不應該在branch1
。 你能告訴我如何解決這個問題嗎?
如果你想在branch2
添加bar.cpp
和bar.hpp
,你需要先切換到branch2
,這意味着 HEAD 需要指向 branch2 。 當你向分支添加文件時,你應該使用git add
和git commit
將文件添加到版本控制中。 假設您的 git 結構如下:
/top level directory
|___ .git
|___ /subfolder
|___ foo.cpp
|___ foo.hpp
|___ bar.cpp
|___ bar.hpp
|___ …
整個步驟應該是這樣的:
git init
git checkout -b branch1
git add subfolder/foo.cpp subfolder/foo.hpp
git commit -m 'commit message'
git checkout -b branch2
git add subfolder/bar.cpp subfolder/bar.hpp
git commit -m 'commit message'
現在無論您簽出哪個分支,相關分支中的文件都不會丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.