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

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

原文地址:https://www.cnblogs.com/dyllove98/p/3214913.html