git-push

发布时间 2023-07-13 16:50:36作者: lxd670

1.push说明

命令用于将本地分支的更新,推送到远程主机。

git push <远程主机名> <本地分支名>:<远程分支名>

1-1.实例

实例 描述
git push 如果当前分支只有一个追踪分支,那么主机名都可以省略,表示将当前分支推送到 origin 主机的对应分支。
git push origin 将当前分支推送到 origin 主机的对应分支。
git push origin master 将本地的 master 分支推送到 origin 主机的 master 分支。如果后者不存在,则会被新建。
git push origin master:newdev 将本地的 master 分支推送到 origin 主机的 newdev 分支。如果后者不存在,则会被新建。
git push origin :master 删除远程仓库的分支。
git push -u origin master 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用 git push。
git push --all origin 不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机。
git push origin --tags 把 tag 推送到远端仓库。

2.推送

2-1.推送同名分支

git push
# 等同上面
git push origin master:master
git push origin master:refs/master

2-2.推送不同名分支

如果远程分支不存在会创建新的远程分支

远程分支存在,就会推送到远程分支上

2-2-1.查看分支

git br
* aaa
  master

2-2-2.把aaa推送到远程dev分支

git push origin aaa:dev
# 等同上面
git push origin aaa:refs/dev
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Create a Code Review for  dev by visiting:
remote: 
remote:        https://code.xxx.com/xxx/test1/codereview/new?from=master&to=dev
remote: 
To gitlab.xxxxx.com:xxx/test1.git
 * [new branch]      aaa -> dev

3.删除远程分支

git push origin :dev
git push origin -d dev
To gitlab.xxxxx:com/test1.git
 - [deleted]         dev2

4.提交code review

# refs/for表示需要进行code review才能合并
git push origin master:refs/for/master

# refs/heads表示不需要code review,直接合并
git push origin master:refs/heads/master