git 删除远程主分支及其它操作

时间:2021-11-17 21:53:14

1. 删除远程分支

如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放稳定代码的地方),可以用这个非常无厘头的语法来删除它:git push [远程名] :[分支名]。
如果想在服务器上删除 serverfix 分支,运行下面的命令(推送一个空分支到远程分支,其实就相当于删除远程分支:):

$ git push origin :serverfix

To git@github.com:schacon/simplegit.git

 - [deleted]         serverfix

2. 新建远程分支

就是本地分支push到服务器上。比如master就是一个最典型的远程分支(默认)。

$ git push origin unfull-flush

Total 0 (delta 0), reused 0 (delta 0)

To http://192.168.0.95/git/private/rk2906-android.git

 * [new branch]      unfull-flush -> unfull-flush

3. 获取特定分支代码 

远程分支和本地分支需要区分好,所以,在从服务器上拉取特定分支的时候,需要指定远程分支的名字。

注意该命令由于带有--track参数,所以要求git1.6.4以上!这样git会自动切换到分支。

$ git checkout --track origin/unfull-flush

4. 提交分支数据到远程服务器

git push origin <local_branch_name>:<remote_branch_name>

$ git push origin unfull-flush:unfull-flush

5. 删除本地分支

git branch -D [branch-name]

$ git branch -D master             #删除本地的master分支(错误版本在master分支上)

git reset HEAD filename  从暂存区中移除文件

git reset --hard HEAD~3  会将最新的3次提交全部重置,就像没有提交过一样。

git reset --hard commit (38679ed709fd0a3767b79b93d0fba5bb8dd235f8) 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本

6. SPECAIL: 在删除远程master分支时,

 

在远程服务器上配置:

$ git config receive.denyDeleteCurrent warn

在本地pc上:

$ git push origin :master

7

"abook_beta_v1.2_2012_12_21_out_software" 为 tag 名

创建带注释的tag 

git tag -a abook_beta_v1.2_2012_12_21_out_software -m '软件不完全版本'

删除tag

git tag -d abook_beta_v1.2_2012_12_21_out_software

合并远程仓库的tag到本地

git pull origin --tags

上传本地tag到远程仓库

git push origin --tags

用push, 删除远程tag

git push origin :refs/tags/abook_beta_v1.2_2012_12_21_out_software

http://www.dsly.info