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.同步本地远程分支:
4.提交分支数据到远程服务器:
1 | $: git push origin <local_branch_name>:<remote_branch_name> |
例如:
1 | $: git push origin develop:develop |
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