9
* 9dbd857 (hotfix-correct-java-jdk-path, feature/add-ansible-galaxy-requirements-file) requirements.yml: adds maven and nodejs requirements
* 1643619 (QOL-1640-enable-vpc-peering) roles/ansible-linux-commons: change value of hostname in cloud-init
* b5fd2a4 roles/bamboo-agent: add bitbucket ssh host key to /etc/ssh/ssh_known_hosts
* d5cc1f7 vpc cfn template: produce outputs conditionally
* 3b87efe vpc cfn template: use csv for subnet/AZ mapping
* 2e93096 roles/bamboo-agent: Install chrome on agents
* 9aeb07e roles/bamboo-agent: install chromium browser
* 89e852d (HEAD -> feature/QOL-1649-install-chrome) README: display the current directory structure of inventories
* 1f55c4b inventories/test: define root volume size
* 07d902e bamboo-ec2 cfn: specify root volume size

这是我(最近)的历史。

我想feature/QOL-1649-install-chrome上移一个提交,到9aeb07e.

我尝试了樱桃挑选,但随后我得到了该提交的“副本”到feature/QOL-1649-install-chrome分支上。但我想要的(我认为)是快进。

4

2 回答 2

25

你可以git reset使用它,但为了一般的安全和清洁,我更喜欢使用git merge --ff-only. 要使用它,请检查您想要快速转发的分支(您已经拥有),然后运行git merge --ff-only <commit-hash>

git merge --ff-only 9aeb07e

我经常使用这个命令,所以我给它起了一个别名,git mff(合并快进)。


编辑,2020 年 11 月:请注意,您不必在此处使用原始哈希 ID;git mff origin/somebranch工作也很好。您可以在此处使用原始哈希。这是 Git 中一般规则的一部分:如果可以使用原始哈希,则可以使用分支名称、标签名称、远程跟踪名称等。

围绕这条一般规则有一些特殊情况,特别是,如果您在git checkout命令中使用原始哈希 ID,您将获得 Git 所谓的分离 HEAD,而如果您使用带有 的分支名称git checkout,您将“开启”分支”(即,附加的 HEAD:与分离相反,尽管 Git 文档从未这样称呼它:它只是说“在分支上”)。Git 2.23 及更高版本中的新git switch命令对此更好,因为如果它要切换到 detached-HEAD 模式,它会要求您添加该--detach选项。然而,有了这个git mff别名,就没有什么特殊情况需要担心了。

于 2017-07-18T00:24:54.640 回答
4
git checkout feature/QOL-1649-install-chrome
git merge --ff-only 9aeb07e

或者

git reset --hard 9aeb07e

而不是合并。

于 2017-07-18T00:23:09.743 回答