Git:拉动后的第二个(空)FETCH_HEAD文件

时间:2018-07-23 14:58:29

标签: git push branch pull

我对Git还是很陌生,我正在学习有关分支以及如何拉/推的知识。这是我当前的工作流程:

在我的笔记本电脑上:

  • 文件夹1:我有一个文件夹,其中包含我的“原始”项目(包含各种脚本)
  • 文件夹2:我还有第二个文件夹,它代表我的“假”协作者(没有人可以练习!)
  • 在GitHub上,我有一个共享的中央存储库。

要明确的是,我所做的时间顺序是:

  • 我创建了文件夹1并进行了一些提交
  • 我在GitHub上创建了这个空的存储库
  • 我将所有内容从文件夹1推送到了这个中央存储库
  • 然后我将此存储库克隆到文件夹2
  • 然后,我在我的文件夹和GitHub存储库之间来回推和拉提交。

在这个阶段,一切似乎都很好。但是,然后我开始研究分支的概念。按时间顺序:

  • 我在文件夹1中创建了一个本地分支,进行了一些提交,然后将该分支合并到我的master分支中。
  • 然后我将master分支推送到GitHub中央存储库
  • 然后我尝试将master分支从GitHub中央存储库中拉到Folder 2。

这种拉动似乎有效(git log显示两个文件夹具有相同的提交历史记录-所有提交都存在),但是我注意到文件夹2中有一个FETCH_HEAD文件。该文件为空。而且,当我以前从文件夹2推入和拉出该文件时,该文件就不存在了。

我在这里错过了什么吗?我无法弄清楚我做错了什么,或者这可能与我在同一台笔记本电脑上使用2个文件夹这一事实有关(即我的协作者使用了相同的Git密码等)。我是想看到一些FETCH_HEAD文件吗?

据我了解,如果您在笔记本电脑上建立本地分支机构,则可以推送它,而您的合作者可以通过git fetch提取它。我在这里只是感到困惑,因为这似乎仅是使用master分支进行的常规推拉。

很抱歉,如果我的问题很基本。如果有帮助,这是我拉入文件夹2时Git的输出:

# Output:
# remote: Counting objects: 11, done.
# remote: Compressing objects: 100% (4/4), done.
# remote: Total 11 (delta 6), reused 11 (delta 6), pack-reused 0
# Unpacking objects: 100% (11/11), done.
# From github.username/VC-exercise
#  * branch            master     -> FETCH_HEAD
#    4fadbae..d99886d  master     -> origin/master
# Updating 4fadbae..d99886d
# Fast-forward
#  README.md        | 2 ++
#  data/adapters.fa | 0
#  2 files changed, 2 insertions(+)
#  create mode 100644 data/adapters.fa

谢谢。

更新

我不够精确。当我在问题中谈论FETCH_HEAD时,我不是在谈论.git / FETCH_HEAD。这个文件存在于我的文件夹2中,但最重要的是,我的所有脚本等旁边的文件夹2中直接有一个名为FETCH_HEAD的空文件。这很麻烦。当然这是不正常的。

另外,当我在文件夹1中键入git branch --all时,我得到了这个,对我来说看起来很正常:

*master
branch-I-made
remotes/origin/master

当我在文件夹2中键入git branch --all时,我得到:

*master
remotes/origin/master -> origin/master
remotes/origin/master

“远程/起源/母版->起源/母版”是什么意思?

0 个答案:

没有答案