相关疑难解决方法(0)

"下游"和"上游"的定义

我已经开始玩Git并遇到过"上游"和"下游"这两个词.我之前见过这些,但从未完全理解它们.这些术语在SCM(软件配置管理工具)和源代码的上下文中意味着什么?

versioning git version-control terminology definition

869
推荐指数
6
解决办法
26万
查看次数

混帐| 将旧提交移至另一个分支的过去

过去我错误地分支了,并且在另一个分支的开头留下了一个提交:

* 03431cb (HEAD -> bar) a2
| * d332e4d (foo) b2
| * 9b29ae3 b1
| * 4656a98 a1
|/  
* 6ebca20 (master) root
Run Code Online (Sandbox Code Playgroud)

我如何才能将a1foobar,使bar的历史root -> a1 -> a2a1foo?是否可以通过一次 git commit 来完成?
这不会被推送,因此无需担心破坏其他人的本地存储库。

我首先想到这样做的樱桃挑选a1,然后修正之间的秩序a2a1。问题在于,这两个提交在我的真实案例中发生冲突,我必须在进行樱桃挑选和切换订单时纠正冲突。


bash中的mwe:

* 03431cb (HEAD -> bar) a2
| * d332e4d (foo) b2
| * 9b29ae3 b1
| * 4656a98 a1
|/  
* 6ebca20 (master) root
Run Code Online (Sandbox Code Playgroud)

git git-rebase

3
推荐指数
1
解决办法
71
查看次数

Git rebase 与在功能分支上 rebase master 后合并

我正在学习变基,并看到了在功能分支上进行变基然后将其合并到主分支中的工作流程(作为示例):

git checkout feature
git rebase master
git checkout master
git merge feature
Run Code Online (Sandbox Code Playgroud)

然而,我看到最后一个命令的另一个类似选项是(而不是“git merge feature”):

git rebase feature
Run Code Online (Sandbox Code Playgroud)

在这种情况下,最后一部分有何不同?结果不会是与 master 之上的功能提交相同的线性时间线吗?

git git-merge git-rebase git-branch

2
推荐指数
1
解决办法
1349
查看次数