Git 如何使用dev分支的一行命令更新本地master并重新设置其基础?
假设我正在一个名为Git 如何使用dev分支的一行命令更新本地master并重新设置其基础?,git,rebase,Git,Rebase,假设我正在一个名为dev的分支上工作,该分支正在跟踪master。 如果我想更新我的主分支,我需要经常运行以下一系列命令: git checkout master git pull git checkout dev git rebase -i master 上面有一行代码可以实现吗,当我在dev分支上时使用git命令(即更新本地主机并将其重新设置为基址)在Windows和Linux bash的命令提示符中,您可以使用执行右侧命令的&&,只有在上一个命令成功的情况下,&&的下一个命令。我在这里
dev
的分支上工作,该分支正在跟踪master
。
如果我想更新我的主分支,我需要经常运行以下一系列命令:
git checkout master
git pull
git checkout dev
git rebase -i master
上面有一行代码可以实现吗,当我在dev分支上时使用git命令(即更新本地主机并将其重新设置为基址)在Windows和Linux bash的命令提示符中,您可以使用执行右侧命令的
&&
,只有在上一个命令成功的情况下,&&
的下一个命令。我在这里复制了一些修改。我假设您的最后一个命令应该是git-rebase-master
(不带-I
)
一个命令:
git pull --rebase origin master:master
让我来解释一下git pull——重新基址master:master
相当于
git fetch origin master:master
git rebase master
git fetch origin master:master
意味着:从远程origin
branchmaster
获取新提交,并更新本地分支master
以指向与远程master
相同的提交。这就是你要做的
git checkout master
git pull
git checkout dev
但速度要快得多(无需进行两次结账)
如果需要隐藏未提交的更改,请添加--autostash
:
git pull --autostash --rebase origin master:master
rebase——交互式是一项要求吗?没有它,我可以用一(一)个命令做任何事情。