我怎么知道我在哪个git分支中创建了一个文件?

时间:2013-06-07 22:02:55

标签: git

我在git项目中工作。我有几个分支,我在一个分支上编码,git add然后git commit,切换到另一个分支,代码,添加,提交。我的问题是,在某个时刻,我忘了添加一个文件和git状态显示我文件未跟踪,但我忘了在哪个分支创建文件。我怎么知道?如果我添加文件然后提交,文件将被提交到实际的分支?或属于它的分支?提前谢谢。

3 个答案:

答案 0 :(得分:2)

  1. 由于git未跟踪该文件,因此您无法知道最初创建该分支的位置。
  2. 该文件将添加到当前的“工作”分支
  3. 我不确定您所处的环境是什么,但查看文件的时间戳以尝试使用git log --until <time>

    尝试查找相应的分支/提交会很有帮助

答案 1 :(得分:2)

当你这样做时:

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

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

更新您可以发出:

git reflog show --date=local

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

答案 2 :(得分:2)

你找不到它属于哪个分支,因为不属于属于任何分支;你没有承诺。

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

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