首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在一个命令(或几个命令)中执行Pull、rebase、push

在一个命令(或几个命令)中执行Pull、rebase、push
EN

Stack Overflow用户
提问于 2011-09-26 21:27:38
回答 2查看 14.1K关注 0票数 22

在使用Git时,我经常发现自己在master中工作时会执行以下操作

代码语言:javascript
复制
# work work work...
$ git checkout -b temp
$ git commit -a -m 'more work done'
$ git checkout master
$ git pull origin master
# turns out master was updated since my previous pull
$ git checkout temp
# I don't want a merge commit for a simple bugfix
$ git rebase master
$ git checkout master
$ git merge temp
$ git push origin master
$ git branch -d temp

..。我厌倦了这样做。有没有一种方法可以在不进行所有签出的情况下完成这段舞蹈,并且最好不用(手动)创建临时分支?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-26 21:31:28

如果您不介意不创建一个名为temp的分支,您可以在master上执行以下所有操作

代码语言:javascript
复制
git commit -a -m 'more work done'
git fetch origin
git rebase origin/master

..。或者等效地:

代码语言:javascript
复制
git commit -a -m 'more work done'
git pull --rebase origin master

但是,如果您确实想保留temp分支,那么您仍然可以通过不只是为了执行pull而签出master来缩短这个过程-您只需要fetch,然后将您的分支重新建立在origin/master

代码语言:javascript
复制
# work work work...
$ git checkout -b temp
$ git commit -a -m 'more work done'
$ git fetch origin
# It looks like origin/master was updated, so:
$ git rebase origin/master
# Then when you finally want to merge:
$ git checkout master
$ git merge temp
$ git push origin master
$ git branch -d temp

sehe's answer提醒我,你可以替换:

代码语言:javascript
复制
$ git fetch origin
$ git rebase origin/master

..。通过以下方式:

代码语言:javascript
复制
$ git pull --rebase origin master

..。这几乎等同于。不同之处在于,当您运行git fetch origin时,origin的所有远程跟踪分支都将更新,而当您从origin中拉出特定分支时,这些分支都不会更新-更新的只是临时引用FETCH_HEAD。就我个人而言,我更喜欢运行一个额外的命令(git fetch origin),并在输出中看到所有已更改的远程分支。

票数 28
EN

Stack Overflow用户

发布于 2011-09-26 21:32:50

你至少可以优化rebasing:git pull --rebase

我不是很确定你喜欢什么,但我喜欢我的工作流程,有点像这样:

代码语言:javascript
复制
git checkout -b temp
git commit -a -m 'more work done'
git pull --rebase origin master

这样,我就可以将注意力集中在手头的分支上。

然后,我就做了

代码语言:javascript
复制
git checkout master
git pull origin master
git merge temp

等。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7555800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档