简短版本:同事在主人面前提交的内容好像是在我推动的分支中完成的。场景非常简单,但我不明白发生了什么。
我只做了两件事。
首先,我从master(本地,在一个新的克隆存储库中)创建了一个分支并切换到它。
(master) $ git checkout -b my-branch
Switched to a new branch 'my-branch'
我没有做任何其他改变,大约半小时后,我推动了分支(我会立即做到但是被打断了)。
/c/myrepo (my-branch)$ git push -u origin my-branch
Counting objects: 7117, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4111/4111), done.
Writing objects: 100% (7117/7117), 30.37 MiB | 2.35 MiB/s, done.
Total 7117 (delta 2773), reused 7117 (delta 2773)
To https://stash/myproject.git
* [new branch] my-branch -> my-branch
Branch my-branch set up to track remote branch my-branch from origin.
然后我去Stash检查分支出现了。令我惊讶的是,它看起来像下面。我的同事John Doe在master
中做出了改变。然而,实际上他是在跟踪origin/master
的大师中这样做的(他不知道我的分支也不感兴趣,他像往常一样开发)。出于某种原因,Stash显示更改为在 my-branch 中提交。
我不明白这一点。好像git push
也从origin / master获得了最新版本,并将这些更改作为my-branch的一部分推送。但这是一个没有人知道的新分支。
我仍然拥有该本地存储库,并且可以根据需要运行任何调试命令。感谢。
这是我在当地看到的。
C:\myproject>git remote show origin
* remote origin
Fetch URL: https://stash/myproject.git
Push URL: https://stash/myproject.git
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master merges with remote master
my-branch merges with remote my-branch
Local refs configured for 'git push':
master pushes to master (up to date)
my-branch pushes to my-branch (up to date)
我们都在使用Git 2.10.0和Atlassian Stash v3.11.1。