我在 git 树中发生了一些意想不到的事情。我已经从 master 创建了一个分支,但是当我在新分支上执行提交时,看起来好像这些与 master 发生在同一代码行中......
如您所见,最左侧是 master 的代码行(深蓝色),在顶部我们可以看到 Sprint_15,它是从 master 中提取的分支,似乎在同一行上有提交......我不知道为什么会这样。由于功能正在 merge 到 Sprint_15 中而不是 master 中,我希望看到代码 fork 到一个新行中...
我的想法是,通过将 Sprint_14 和 Sprint_15 merge 在一起,这对历史做了一些时髦的事情,但我不知道为什么。
我对 git 还是很陌生,所以它的一些基础仍然让我感到困惑。
最佳答案
似乎您对 git 的工作方式有点误解(这是正常的,因为您说您是 git 新手)
每个分支不一定有自己的线路。如果您的分支 Sprint_15
的基础是 master
并且 Sprint_15
是 master
之前的任意数量的提交,那么它们将共享同一行。一旦 master
得到一个新的提交,我想你会看到你所期望的。
你可以像这样在一个单独的 git repo 中测试它。
$ mkdir testing && cd testing
$ git init # should put you on master branch by default
$ touch testFile.txt
$ git add -A
$ git commit -m "initial commit"
$ git branch newBranch
$ git checkout newBranch # switch from master to newBranch
### modify the testFile.txt in some way and then...
$ git add -A
$ git commit -m "first commit on newBranch"
现在,如果您使用相同的工具查看您的存储库,您应该只会看到一行,如下所示:
现在回到 master 分支并再次提交:
$ git checkout master
### make another change to testFile.txt
$ git add -A
$ git commit -m "second commit on master"
现在您将看到每个分支都有自己的行,就像您期望的那样,如下所示:
关于Git 分支仍然与 master 在同一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44362275/