git 创建管理远程分支

 
1.远程分支就是本地分支push到服务器上的时候产生的。比如master就是一个最典型的远程分支(默认)。
1 $: git push origin master
除了master之外,我们还可以随便创建分支,然后push到服务器上去。例如:
1 $: git push origin develop
2 Counting objects: 27, done.
3 Delta compression using up to 2 threads.
4 Compressing objects: 100% (15/15), done.
5 Writing objects: 100% (15/15), 7.30 KiB, done.
6 Total 15 (delta 10), reused 0 (delta 0)
7 To git@search.ued.taobao.net:projects/search.git
8    1b95a57..779dbe1  develop -> develop
2.远程分支和本地分支需要区分,所以,在从服务器上拉取特定分支的时候,需要指定本地分支名字。
1 $: git checkout --track origin/develop
注意该命令由于带有--track参数,所以要求git1.6.4以上!
这样git会自动切换到develop分支。
 
3.同步本地远程分支:
1 $: git fetch origin
4.提交分支数据到远程服务器:
1 $: git push origin <local_branch_name>:<remote_branch_name>
例如:
1 $: git push origin develop:develop
当然如果当前在develop分支下,也可以直接
1 $: git push
5.删除远程分支develop:
1 $: git push origin :develop

第一次创建的时候服务器上面没有任何分支(使用git init --bare).那么在本地创建了之后需要推送一个分支到服务器上面。

即:第一次push必须这样写 git push origin master:master

git checkout master         //取出master版本的head。
git checkout tag_name    //在当前分支上 取出 tag_name 的版本
git checkout  master file_name  //放弃当前对文件file_name的修改

 git checkout branch_name tag_name //取指定分支branch_name的tag_name的版本

git checkout  commit_id  file_name  //取文件file_name的 在commit_id是的版本。

commit_id为 git commit 时的sha值。

列出某一个commit ID(XXXXXXXXXXXXXXXX) 对应的补丁:

   $ git log -1 -p XXXXXXXXXXXXXXXX
   $ git format-patch -1 XXXXXXXXXXXXXXXX <===-1不可省略
        --stdout         //打印到标准输出
   $ git show XXXXXXXXXXXXXXXX
   $ git diff-tree -p XXXXXXXXXXXXXXXX


$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中

$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git
$ git push origin master

这两个操作是等价的,第二个操作的第一行的意思是添加一个标记,让origin指向ssh://git@dev.lemote.com/rt4ls.git,也就是说你操 作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者 的别名。

注意:需要说明的是,默认情况下这条语句等价于提交本地的master仓库到远程仓库,并作为远程的master分支。
如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。

$ git push origin test:master // 提交本地test分支作为远程的master分支
$ git push origin test:test // 提交本地test分支作为远程的test分支

如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

$ git push origin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心。

原文地址:https://www.cnblogs.com/dubaokun/p/3550391.html