0

我在一个 git 项目中工作。我有几个分支,我在一个分支上写了一点代码,git add 然后 git commit,切换到另一个分支,编码,添加,提交。我的问题是,有时我忘记添加文件,而 git status 将文件显示为未跟踪,但我忘记了在哪个分支中创建文件。我怎么知道?如果我添加文件然后提交,文件是否提交到实际分支?还是它所属的分支?提前致谢。

4

3 回答 3

2

您无法找出它属于哪个分支,因为它属于任何分支;你没有犯。

您可以通过比较时间戳来确定您在创建它时正在处理的分支,假设您此后没有对文件进行任何更改。

运行git log --all以查看所有分支的提交列表,并查找与您的神秘文件最接近的时间戳。该提交可能来自您正在寻找的分支。

于 2013-06-07T22:13:17.007 回答
2
  1. 因为git没有跟踪文件,所以你无法知道它最初是在哪个分支中创建的。
  2. 该文件将被添加到当前的“工作”分支

我不确定您在什么环境中,但是查看文件上的时间戳以尝试通过使用找到相应的分支/提交可能会有所帮助git log --until <time>

于 2013-06-07T22:05:49.043 回答
2

当你这样做时:

git add myfile.txt
git commit -m 'My message'

该文件(以及索引中的所有其他更改)已提交到您所在的当前分支。如果您在正确的分支中没有添加和提交文件,git 将无法告诉您实际创建它时您在哪个分支中。

更新您可以发出:

git reflog show --date=local

这会显示您何时切换分支。连同文件的创建时间,这将允许您确定文件可能属于哪个分支。

于 2013-06-07T22:08:48.420 回答