转自:https://www.cnblogs.com/techflow/p/13895261.html
1.拉取
实git pull并不是严格意义上的代码拉取命令,至少它还不是最细粒度,更细粒度的是git fetch。
git fetch:将远程的改动同步到本地。
git fetch origin //origin指的是远程的名字
它会把远程所有的改动和分支都拉取到本地,命名为origin/xxx,即远程分支。
- git fetch针对远程的所有改动,而git pull只针对当前分支对应的远程分支。
- git pull执行之后会将远程的改动merge到本地的分支,多了一步merge的操作。
本地可以切换到远程分支:
git_test % git branch -a 0a dev * master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/master git_test % git checkout remotes/origin/dev Note: switching to 'remotes/origin/dev'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. //此时查看.git/HEAD文件,应该指的是远程分支的哈希值 git_test % cat .git/HEAD 594e046e8966ff38ad404791edb66f5a6f1e9e4d git_test % git branch * (HEAD detached at origin/dev) 0a dev master //切回本地dev分支后, git_test % git checkout dev Switched to branch 'dev' git_test % cat .git/HEAD ref: refs/heads/dev
2.推送
最完整的push命令是应该写成这样的:
git push origin test:cz/test
将本地的test分支推送到远程作为cz/test分支。
如果我们想要本地的名称和远程一样,我们可以省略简写成:git push origin test。也就是将本地的test分支推送到远程的test同名分支。
可以通过git branch --set-upstream-to master origin/master 设置分支上游,进行本地与远程分支的关联,方便pull和push。
标签:origin,git,dev,拉取,Git,test,推送,远程,分支 From: https://www.cnblogs.com/BlueBlueSea/p/16608562.html