译者:zhanhailiang 日期:2015-01⑴7
原文链接:25 Tips for Intermediate Git Users
$ git config --global user.name "Some One"
$ git config --global user.email "someone@gmail.com"
git中的1切都以文件情势存储,举例:
在git中查看合并提交信息,你将看到Two Parents,其中第1个Parent指向当前分支,第2个Parent指向你想合并的分支。
和svn1样,当遇到合并冲突,需要手动修改<<<<, ====, >>>>部份的内容。
$ git diff --merge
diff --cc dummy.rb
index 5175dde,0c65895..4a00477
--- a/dummy.rb
+++ b/dummy.rb
@@@ ⑴,5 ⑴,5 +1,5 @@@
class MyFoo
def say
- puts "Bonjour"
- puts "Hello world"
++ puts "Annyong Haseyo"
end
end
git中最重要的特性之1是可以支持散布式仓库,从而避免SVN中心式的弊端。你可以在本地汪厍多个读远程服务器,也能够添加多个写远程服务器。
$ git remote add john git@github.com:johnsomeone/someproject.git
如果想获得远程服务器信息,以下:
# shows URLs of each remote server
$ git remote -v
# gives more details about each
$ git remote show name
也能够通过以下命令获得本地分支和远程分支的区分:
$ git diff master..john/master
也能够查看本地HEAD的修改:
$ git log remote/branch..
# Note: no final refspec after ..
git支持两种类型的标签:
1个指向某个提交的指针;
$ git tag to-be-tested
1个指向标签对象的指针,其包括本身信息和历史。
$ git tag -a v1.1.0 # Prompts for a tag message
$ git branch feature132
$ git checkout feature132
等价于:
$ git checkout -b feature132
$ git checkout master
$ git merge feature83 # Or...
$ git rebase feature83
合并分支分为merge和rebase两种方式:
可以通过以下命令查看哪些分支包括独立的修改:
# Shows branches that are all merged in to your current branch
$ git branch --merged
# Shows branches that are not merged in to your current branch
$ git branch --no-merged
提交本地当前分支修改到远程服务器:
$ git push origin twitter-experiment:refs/heads/twitter-experiment
# Where origin is our server name and twitter-experiment is the branch
删除远程服务器的分支:
$ git push origin :twitter-experiment
查看所有远程分支的信息:
$ git remote show origin
待续......
上一篇 js常见问题