簡體   English   中英

Git 在分支結帳時刪除文件

[英]Git deleting files upon branch checkout

我有一個目錄,其中包含一些分布在多個文件中的代碼。 該代碼不受版本控制。 所以,我在頂層創建了一個 git repo。 但是,由於目錄中有多個文件,我只想將我打算修改的文件添加到我的 git repo 中。 git ignore d 其余的文件。

但是,這是我遇到的一個問題。一開始,我的倉庫沒有文件。 然后,我在foo.hpp上檢查foo.cppbranch1 然后,在不移動HEAD ,我創建了branch2並檢查了bar.cppbar.hpp 現在,如果我檢出branch1 ,git 會刪除文件foo.cppfoo.hpp

我猜 git 會清理文件,因為它不應該在branch1 你能告訴我如何解決這個問題嗎?

如果你想在branch2添加bar.cppbar.hpp ,你需要先切換到branch2 ,這意味着 HEAD 需要指向 branch2 。 當你向分支添加文件時,你應該使用git addgit 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM