将指针移动到 master 的最后一个现有提交
Move pointer to last existing commit of master
我是 git 命令的新手,第一次需要做这样的事情,不知道从哪里开始
我现在拥有的:
branch-name E
/
master A - B - C - D - F- G
我想要的
branch-name E
/
master A - B - C - D - F- G
我怎样才能做到这一点?
编辑:错误消息
git rebase master
以错误消息结束:
CONFLICT (modify/delete): file.txt 在 HEAD 中删除并修改
d 在初始提交中。版本 file.txt 的初始提交留在树中。
无法合并更改。
补丁在 0001 初始提交时失败
失败补丁的副本位于:
项目路径/.git/rebase-apply/patch
警告:您的控制台字体可能不支持 Unicode。如果您遇到
输出中出现 trange 字符,请考虑切换到 TrueType 字体,例如 L
ucida 控制台!
很简单git rebase
:
git checkout branch-name
git rebase master
但是你可能必须在 rebase 之后强制推送 branch-name(如果你之前已经推送过):git push --force
.
如果其他人已经在他们自己的本地仓库中的同一个分支上工作,那可能会有问题,因为他们必须将其重置为新的历史记录。
在那种情况下(分支已经推送),替代方案将是(类似于“alternative to rebasing pushed commits”中讨论的内容):
- 将
master
合并到 branch-name
(并不总是被视为最佳实践)
- 一个
git cherry-pick
在一个新分支
我是 git 命令的新手,第一次需要做这样的事情,不知道从哪里开始 我现在拥有的:
branch-name E
/
master A - B - C - D - F- G
我想要的
branch-name E
/
master A - B - C - D - F- G
我怎样才能做到这一点?
编辑:错误消息
git rebase master
以错误消息结束:
CONFLICT (modify/delete): file.txt 在 HEAD 中删除并修改 d 在初始提交中。版本 file.txt 的初始提交留在树中。 无法合并更改。 补丁在 0001 初始提交时失败 失败补丁的副本位于: 项目路径/.git/rebase-apply/patch 警告:您的控制台字体可能不支持 Unicode。如果您遇到 输出中出现 trange 字符,请考虑切换到 TrueType 字体,例如 L ucida 控制台!
很简单git rebase
:
git checkout branch-name
git rebase master
但是你可能必须在 rebase 之后强制推送 branch-name(如果你之前已经推送过):git push --force
.
如果其他人已经在他们自己的本地仓库中的同一个分支上工作,那可能会有问题,因为他们必须将其重置为新的历史记录。
在那种情况下(分支已经推送),替代方案将是(类似于“alternative to rebasing pushed commits”中讨论的内容):
- 将
master
合并到branch-name
(并不总是被视为最佳实践) - 一个
git cherry-pick
在一个新分支