譯者: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常見問題