git-02
1、与远程建立连接:
git branch --set-upstream-to=origin/dev(dev关联分支名称):本地分支与远程分支关联
upstream 分支可以定义为我们的本地分支(也称为远程跟踪分支)在远程仓库上遵循的分支。当我们需要将默认远程分支设置为我们当前的本地分支时,运行 git upstream 命令。使用分支名称将本地分支设置为远程分支
git branch --set-upstream
git push -u
git push --set-upstream
git remote add:添加当前本地仓库的远程repo
git push 后不加参数的时候,默认就是git push origin 当前的分支名,比如对本地的master分支执行git push(git push origin master),但远程仓库没有master这个分支的话,肯定会报错
2、删除分支:
- git branch -d dev :删除本地分支
- git branch --delete dev : 删除远程分支
- git push origin --delete Chapater6 删除远程分支
3、查看分支:
- git branch -r :查看远程分支
- git branch :查看本地分支
4、git fetch:
FETCH_HEAD: 是一个版本链接,记录在本地的一个文件中,指向目前已经从远程仓库取下来的分支的末端版本。
- git fetch :更新git remote 中所有的远程repo 所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
- git fetch remote_repo:更新名称为remote_repo 的远程repo上的所有branch的最新commit-id,将其记录
- git fetch remote_repo remote_branch_name:更新名称为remote_repo 的远程repo上的分支remote_branch_name
- git fetch remote_repo remote_branch_name:local_branch_name:更新名称为remote_repo 的远程repo上的分支remote_branch_name ,并在本地创建local_branch_name 分支保存远端分支的所有数据。
5、git pull
- 基于本地的FETCH_HEAD记录,比对本地的FETCH_HEAD记录与远程仓库的版本号,然后git fetch 获得当前指向的远程分支的后续版本的数据,然后再利用git merge将其与本地的当前分支合并。
- git pull 后不加参数:默认就是git pull origin 当前分支名,远程仓库没有跟本地当前分支名一样的分支的话,肯定会报错。
- 本地master分支执行git pull的时候等同于git pull origin master。
- git pull=git fetch + git merge
- git pull 等效于先执行 git fetch origin 当前分支名, 再执行 git merge FETCH_HEAD.
6、例子
要把远程origin仓库的future分支合并到本地的local分支
- 传统方法:
- git fetch origin future
- git checkout local
- git merge FETCH_HEAD
- git pull:
- git pull <remoterepo_name> <branch_name>
- git checkout local
- git pull origin future
- 本地建立远程分支future
- git checkout future
- git pull // 如果本地没有future分支的,这一步都可以不执行。
- git checkout local
- git merge future //这一步可以加上 --no-ff 参数,即 git merge --no-ff