git 分支、远程

remote

git remote add origin [email protected]:abc/def.git  

将本地git目录关联远程origin仓库   origin只是url的别名

git remote  查看远程仓库    -v

git remote show [remote]  显示某个远程仓库的信息

git remote rename a b

branch

git branch 列出所有分支  -a本地和远程分支  远程分支根据的是.git/refs/remotes

-v每个分支的最后一次提交  -vv列出当前关联的远程分支

--merged已合并到当前分支的分支  --no-merged未合并到当前分支的分支

git branch --set-upstream-to=origin/dev dev     trace到远程分支,

即设置 branch.<branchname>.remote 和 branch.<branchname>.merge

git branch dev  [start-point]  创建dev分支 [指向start-point提交]  [origin/dev 并与远程dev关联]

git branch -d dev    删除dev分支   -D 强行删除未合并过的分支  

git branch -m old new 重命名分支    -M 已存在同名分支时,强制重命名

merge

git merge dev    将dev分支合并到当前分支   clean状态下才能合并  需解决冲突   --abort终止合并

git merge --no-ff -m "blabla.."     禁用fast-forward模式,并commit  

pull  <remote>  <remote_branch> : <local_branch>

1.  pull origin master     省略<local_branch>,则pull到当前分支

2.  pull origin       省略<remote_branch>,要合并的分支由 branch.<branchname>.merge 给出

3.  pull   不带参数执行pull,

  1) 若当前分支设置了<remote>,即配置了branch.<branchname>.remote=abc,

     相当于执行git pull abc,否则相当于执行git pull origin

  2) 要获取的<remote>的url由配置项 remote.<remote>.url 给出

  3) 若配置了remote.<remote>.fetch 表达式,则由该表达式执行获取操作

  4) 若配置了branch.<branchname>.merge,则合并该分支,否则报错

push  <remote>  <local_branch> : <remote_branch>        远程分支不存在则创建

1.  push   不带参数执行push,

  1) 若当前分支设置了<remote>,即配置了branch.<branchname>.remote=abc,

     相当于执行git push abc,否则相当于执行git push origin

  2) 要推送的<remote>的url由配置项 remote.<remote>.pushurl 给出,

若没配置,则由 remote.<remote>.url 给出

  3) 若配置了remote.<remote>.push 表达式,则由该表达式执行推送操作

     否则使用“:”表达式,即推送所有在远程版本库中有同名分支的本地分支

  

省略远程分支名则push到trace的分支 push origin dev

省略本地分支名   push origin :dev 表示删除远程分支  

等同于 push origin --delete dev 或 branch -dr [origin/dev]

--force    即使有冲突也强行push     --all   push所有分支

本地修改基于远程旧版本  不能push

其他

本地有origin/master等指针,指向最后一次连接远程仓库时,远程仓库的状态

git clone 会自动以origin来代表远程仓库  并设置本地master分支跟踪远程master分支

git fetch [remote] 抓取远程仓库的所有变动,包括所有分支   但不merge

远程的改动存放在.git/refs/remotes/下的引用指向的对象里

pull和push包含commit历史

猜你喜欢

转载自www.cnblogs.com/ts65214/p/12967332.html