我创建了一个分支b1
,我对它进行了一些更改,然后将其推送到远程存储库:
git branch b1
git checkout b1
git add newfile.txt
git commit -m "adding a new file"
git push origin b1
在另一台连接到远程存储库的计算机上,我尝试拔出分支而不将其与master合并:
$git branch
*master
$git pull origin b1
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From sl*******02:/opt/git/projet1
* branch b1 -> FETCH_HEAD
Updating fca3b48..1d96ceb
Fast-forward
newfile.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 newfile.txt
$git branch
*master
我的期望:
$git branch
*master
b1
答案 0 :(得分:6)
您可以使用git fetch origin b1
仅在不合并的情况下获取远程分支。
请参阅:https://git-scm.com/docs/git-fetch
基本上git pull
是git fetch && git merge
合并执行,因为您在主分支上,而不是本地b1分支。
答案 1 :(得分:1)
您想要使用
结帐远程分支git checkout b1
如果您使用的是git版本< 1.6.6这样做的方法是
git checkout -b b1 origin/b1
答案 2 :(得分:1)
git remote update origin —prune
答案 3 :(得分:1)
您实际上是在问两个问题:
# Assuming you are on wanted branch (b1) already
git pull --rebase
没有merge
,只有rebase
。
git fetch
git checkout b1
不合并到master
,创建新分支b1
。
答案 4 :(得分:0)
提交前也可以
使用以下命令
git stash
git pull
git stash apply