git pull
和下面这种拉取develop分支有什么区别?
git pull origin develop
git pull
和下面这种拉取develop分支有什么区别?
git pull origin develop
首先不建议使用 git pull 拉取代码,建议使用 git fetch + git merge来拉取代码。
git pull 默认是从和当前工作区的分支一样的远程分支拉取代码,例如:
当前工作区分支:dev,那么 git pull 等于 git pull origin dev.
当然有特殊情况,本地是dev分支,想从mater分支拉取代码,那么就得使用: git pull origin master,不过这种情况很少,如果有这种情况建议使用:get merge master代码分支合并。
总的来说: git pull 默认缺省值就是当前工作区的分支
Default values for <repository> and <branch> are read from the "remote" and "merge" configuration for the current branch as set by git-branch[1] --track.
如果当前分支所 track 的 remote 分支就是 origin 的 develop 分支,两者是一样的。
git pull origin develop
会拉取(git fetch
) origin ,并将 origin/develop
合并到(git merge
) 当前分支。
git push和git push origin master区别在于git的目录下有一个.git目录下有一个有个config文件,当没有将远程分支和本地分支内容如下所示:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://gitee.com/BattleHeart/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
当使用git push --set-upstream origin master
建立关联后,他内容如下所示
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://gitee.com/BattleHeart/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
多出了上面branch “master”,其中表示是远程分支origin/master分支和本地master分支之间关系。
5 回答2.9k 阅读
3 回答2.7k 阅读
3 回答1k 阅读
2 回答446 阅读✓ 已解决
485 阅读
git pull = git fetch + git merge
git pull origin develop
动作是去获取远程仓库中develop分支上的commits,然后把origin/develop merge到你目前check out下来的分支中git pull
就是省去了指定分支,默认就是去你之前check out 的分支上去操作,比如,如果你本地的check out的分支 track的就是origin/develop,那么git pull
就等于git pull origin develop