相关疑难解决方法(0)

可以"git pull --all"更新我所有的本地分支机构吗?

我经常至少有3个远程分支:master,staging和production.我有3个本地分支跟踪那些远程分支.

更新我所有的本地分支机构很繁琐:

git fetch --all
git rebase origin/master
git checkout staging
git rebase origin/staging
git checkout production
git rebase origin/production
Run Code Online (Sandbox Code Playgroud)

我很乐意能够做一个"git pull -all",但我无法让它发挥作用.它似乎执行"fetch --all",然后更新(快进或合并)当前工作分支,而不是其他本地分支.

我仍然卡在手动切换到每个本地分支和更新.

git

439
推荐指数
12
解决办法
25万
查看次数

如何'git pull'成一个不是现在的分支?

当您git pullmaster分支上运行时,它通常会从中拉出origin/master.我是在一个叫不同的分支newbranch,但我需要运行,做了一个命令,git pullorigin/mastermaster,但我不能运行git checkout更改所选分支,直到后拉完成.有没有办法做到这一点?

为了给出一些背景知识,存储库存储一个网站.我newbranch通过切换网站对其进行了一些更改并进行了部署newbranch.现在这些更改已合并到上游master分支,我也试图将网站切换回master分支.在这一点上,newbranch并且origin/master是相同的,但是master落后origin/master并且需要更新.问题是,如果我采用传统方式:

$ git checkout master
   # Uh oh, production website has now reverted back to old version in master
$ git pull
   # Website is now up to date again
Run Code Online (Sandbox Code Playgroud)

我需要实现与上面的相同(git checkout master && git pull),但是在此过程中不需要将工作目录更改为早期版本.

git branch git-branch

116
推荐指数
5
解决办法
6万
查看次数

没有结帐的Git拉?

我习惯在我正在处理的分支中运行git pull和其他命令.但我已经设置了一个可供多人工作的开发服务器,所以我不想在我这样做时切换分支.如果我想从我们都使用的github存储库更新开发服务器上的现有分支,那么这样做的正确方法是什么?如果我运行命令'git pull github branchname',那么只需将分支拉入当前分支?

我能找到的所有git示例似乎都表明你首先运行'checkout branchname',然后执行pull.我试图避免这种情况.正如我所说,这是一个现有的分支,我只想更新到最新版本.

git

94
推荐指数
4
解决办法
3万
查看次数

当我在开发分支中执行git pull origin master时会发生什么?

假设我有一个名为develop的私有主题分支,在master之前有2次提交.

怎么git pull origin master办?

从本地开发的远程主机中拉出所有内容并合并它?拉出本地主分支中的所有内容并合并它?

并且有没有办法从头开始更新master git checkout master

git pull

54
推荐指数
2
解决办法
5万
查看次数

合并到git中的分支而不切换到它

我有一个应用程序在分支上的git存储库中运行(比如说dev).应用程序修改某些存储库中的内容并提交它们.我现在必须将这些更改合并到另一个分支(比如说master),但是在我git checkout master做这个之前我不想做这个问题.有没有办法说"将当前分支合并为主"?

git merge git-merge

44
推荐指数
2
解决办法
3866
查看次数

合并分支没有结帐

有没有办法将分支合并到另一个分支而不检查任何分支?例如,我检查了分支'master',但我想将branch-a合并到branch-b,而不离开master.

git git-merge git-checkout

41
推荐指数
0
解决办法
8179
查看次数

如何进入非当前分支?

说我现在的分支是myfeature.我想让大师了解最新动态.git merge git pull据我所知,两者总是合并到当前分支.

有没有办法将更改从远程分支(例如,origin/master)合并到我当前不在的分支(master)?我可以想到一个方法:

git stash
git checkout master
git pull origin/master
git checkout myfeature
git stash apply
Run Code Online (Sandbox Code Playgroud)

还有更好的吗?

(这可能是我的整个问题是错误的:git fetch如果启用了远程跟踪,会自动更新master以匹配origin/master吗?)

回答

总结下面的答案,它基本上"只是git merge直接使用,你可能不需要实际做这个合并".

git git-stash git-pull git-checkout

37
推荐指数
2
解决办法
6918
查看次数

合并分支而不检查分支

我有3个分支机构.

     master [ Live Server]
      \
       stage [ Stage Server Where we test changes; merge commits ]
        \ 
         Dev [ Local Machine ]
Run Code Online (Sandbox Code Playgroud)

我想下游的变化.这些分支中的每一个都设置为相互跟踪.

通常,对于下游的更改,我这样做:

git checkout stage && git merge master

然后我结帐开发,我也这样做

git checkout dev && git merge stage

然后全部推动它们: git push origin --all

有没有办法下游这些更改而不检查每个分支?

我可能使用了错误的术语.我不完全确定我是否正确使用上游/下游术语.

git merge

35
推荐指数
3
解决办法
8725
查看次数

Git - 在拉动时自动快进所有跟踪分支

我已经使用该--track选项设置了跟踪分支,当我执行操作git pullmaster,它会获取所有分支origin/branchname但不与本地跟踪分支合并.这是额外的烦人,因为如果我以后做一个git pushmaster,它说,非快速向前更新被拒绝在跟踪分支,因为他们并没有在最初的快速转发git pull.

我的问题是:如何git pull通过获取所有分支并自动快进所有跟踪分支来实现它?

注意:git pull用于使用我的GitHub存储库快速转发所有跟踪分支,但现在我已经使用Gitolite建立了自己的存储库,这个问题正在出现.

git branch pull

32
推荐指数
4
解决办法
1万
查看次数

如何在git中快进其他跟踪分支?

我们正在使用我们所有人都使用的单个远程存储库的模型.我们分支新功能并重新集成到主干分支.我们的工作流程是,当其他功能集成到主干中时,我们应该从主干集成到我们的工作分支.

因此,我们做的事情并不少见:

(branch) $ git commit -a -m"blah blah blah"
(branch) $ git fetch  # origin/trunk is updated
(branch) $ git checkout trunk
(trunk) $ git pull  # trunk is fast-forwarded to current version of origin/trunk.
(trunk) $ git checkout branch
(branch) $ git merge trunk
(branch) $ git push
Run Code Online (Sandbox Code Playgroud)

我不喜欢"git checkout trunk/git pull/git checkout branch"循环.它通常与Visual Studio合并,抱怨我的所有文件和项目都在磁盘上发生了变化,并且应该重新加载它们.两个结帐.而拉.合并.合并是不可避免的,但由于git如何工作,它应该能够在主干上进行快进,而不需要检查它.

但我不知道这个命令,而我的google-foo在这方面让我失望了.谁知道怎么样?

git

28
推荐指数
3
解决办法
8162
查看次数

标签 统计

git ×10

branch ×2

git-checkout ×2

git-merge ×2

merge ×2

pull ×2

git-branch ×1

git-pull ×1

git-stash ×1