我有一个包含分布在多个文件中的代码的目录。代码不受版本控制。所以,我在顶级创建了一个git repo。但是,由于目录中有多个文件,我只想将我想要修改的文件添加到我的git repo中。我git ignore
了其余的文件。
但是,这是我遇到的问题..一开始,我的回购没有文件。然后,我在foo.cpp
上检查foo.hpp
和branch1
。然后,在不移动HEAD
的情况下,我创建branch2
并同时签入bar.cpp
和bar.hpp
。现在,如果我结帐branch1
,git会删除文件foo.cpp
和foo.hpp
。
我猜git会清理文件,因为它不应该在branch1
中存在。你能告诉我我该如何解决这个问题?
答案 0 :(得分:0)
如果您想在bar.cpp
中添加bar.hpp
和branch2
,则需要先切换到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'
现在无论您检查哪个分支,相关分支中的文件都不会丢失。