以下是该方案:
我创建了2个分支 - b1,b2为2个提交 这两个分支都改变了不同的文件。致力于
当我将文件提交到b1时,特定于b1的2个文件将被提交
将文件签入Branch-b1
git checkout -b "Branch-b1"
git add /path/file1.scala
git add /path/file2.scala
git commit -m "<Comment>"
git push -u origin "Branch-b1"
但是,当我创建b2&amp;提交特定于b2的6个文件,6 + 5个文件正在提交
将文件签入Branch-b2
git checkout -b "Branch-b2"
git add /path/file3.scala
git add /path/file4.scala
git commit -m "<Comment>"
git push -u origin "Branch-b2"
在第二种情况下,要检查的是 - 来自Branch-b2的Branch-b1 +文件的文件
事实上,当我创建一个新分支(例如b3)并且不提交任何文件时,&amp;我之间做了一个差异 分支机构b3&amp;主人。我看到为分支b1
签入的文件例如。
git checkout -b "Branch-b3"
git diff Branch-b3 master
--- shows the files from Branch-b1
/path/file1.scala
/path/file2.scala
关于我做错的任何想法? 以及如何解决这个问题?
答案 0 :(得分:1)
您正在 Branch-b2
之上创建Branch-b1
(并且您的说明中也可能Branch-b3
)。因此,每个分支将包含其前任的所有文件。
git checkout -b
是git branch
的快捷方式,后跟git checkout
(即您创建一个新分支并立即切换到它)。另一方面,git branch
将在您当前的HEAD 之上创建一个新分支,这是您当前所在分支的一角。
在使用master
创建新分支之前,您需要切换回git checkout -b
。