一、Git是一個分布式的代碼版本管理工具。類似的常用工具還有SVN,CVS。最大的特點也是優點在於提供分布式的代碼管理
1、分支代碼只有一份!
使用過svn的童鞋想必都知道,當我們要開發一個新功能或者增加一個新版本或者修改一個復雜bug的時候,通常需要copy整份代碼到本地一個目錄,然后添加到svn服務器上進行代碼管理。
而Git不同,Git可以創建許多branches,每個branch都是獨立的,當我們需要修改代碼的時候,commit也只是對本地倉庫的修改。如果使用SourceTree,我們會發現在工具欄的Git Flow功能,已經很好的為此做了准備。
2、log在本地!
svn的log都是存儲在服務器上的,當我們要查閱修改記錄的時候,必須要能夠連接上遠程服務器,並且具有權限。而Git不同,Git對於本地倉庫的修改記錄都是在本地上的,方便查閱。
3、合並代碼更加方便!
因為Git支持本地無限Branches,當我們個體在本地創建多個branches用於不同目的的時候(修改,新增,探索),合並一份代碼顯然要比svn合並一堆工程copy更加簡單。
4、更加安全!
Git的commit命令不同於SVN,commit只是對本地倉庫代碼的一次更新。當需要提交到master遠程倉庫,或者其他遠程分支倉庫的時候,需要使用push功能。雖然增加了一個過程,卻可以防止隨意修改導致后期合並出現大問題的風險。 在用戶工作的時候,從本地倉庫修改文件(modified),寫入git的暫存區域(staged),將暫存區域的內容提交到本地倉庫(committed)。這一系列的工作都是在用戶本機的本地倉庫上進行的。當你將本地的倉庫push到遠程服務器上的倉庫之前,遠程倉庫里是沒有你的工作成果的。
5、目錄更加簡潔!
在Git本地倉庫根目錄,只有一個.git文件,它包含了所有的管理信息。而SVN想必大家都知道,每個子目錄下都有噁心的.svn。這個當需要修改文件沖突等問題時,就需要考慮了。肯定是一個文件簡單。
二、安裝
在進行安裝前,要說一下,Git和SVN一樣,都需要創建一個服務器的,他們都可以創建自己的版本管理服務器。對於個人和小團隊來說,使用托管服務器可能更合適。
常見的有Github 和 Bitbucket。Github沒有個人免費倉庫使用,代碼放上去就是開源的。
Bitbucket的個人倉庫相關頁面已經基本漢化了。注冊流程也比較簡單。
安裝過程:
2,下載之后打開,雙擊.pkg安裝
3, 打開終端,使用git --version或者which git命令查看安裝版本,有就是安裝成功了
4,創建一個全球用戶名、全球郵箱
git config --global user.name "shengyao"
git config --global user.email "MY_NAME@example.com"
5、安裝成功后打開終端
cd ~進入根目錄
輸入命令ssh-keygen生成ssh-key,如果有提示,一直按回車
cmd:~ dongjunjie$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/dongjunjie/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/dongjunjie/.ssh/id_rsa.
Your public key has been saved in /Users/dongjunjie/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ns/EnViy5azFGe0MHRmgXBwuhXyp7VyeqONbbMG4tu0 dongjunjie@cmd.local
The key's randomart image is:
+---[RSA 2048]----+
| . o=+. |
| .o=+ o |
| ++. o |
| .+.o.. |
| S o+o. |
| . o &+Oo |
| o B.% o |
| =oB |
| .B+E |
+----[SHA256]-----+
6、將SSH key添加到GitHub。登錄到GitHub頁面,Account Settings->SSH Public Keys->Add another key
將生成的key(id_rsa.pub文件)內容copy到輸入框中,save。
commd+shift+g進入/Users/chen/.ssh/就可以看得見私鑰和公鑰
私鑰的名字是 id_rsa,是服務器確定你身份的唯一憑證。
公鑰的名字是id_rsa.pub。把這個文件發給倉庫管理員,倉庫管理員會把這個公鑰放到服務器上,以后git就通過上面的私鑰跟服務器交互了。如果使用github就是自己把公鑰內容添加上去
7、找一個目錄執行git clone http://xxx.git(從服務器端克隆git庫,當然這個要服務器管理員給你權限和帳號),以后xxx目錄就是一個git目錄,可以在這個目錄下執行git操作
三、 linux基礎命令
sudo -s 獲取絕對用戶權限
cd xxx 進入xxx目錄
ls (-a/-A) 顯示當前路徑下所有文件(隱藏的)
pwd 顯示當前絕對路徑
mkdir xxx 創建文件夾xxx
man xxx 查看xxx命令手冊
然后介紹下Git基礎命令的含義;
clone 克隆遠程倉庫
init 初始化倉庫
remote 連接遠程倉庫
pull 從遠程倉庫下拉獲取新數據
push 將本地倉庫新增或修改文件上傳到遠程倉庫
add 添加文件或者修改文件,commit以及push之前使用
log 當前倉庫提交過的日志信息
status 當前倉庫版本狀態
commit 提交到當前倉庫中
branch 分支命令,相關增刪查操作
checkout 使用遠程倉庫最后一個版本完全覆蓋當前倉庫內容/選擇分支branch
diff 對比版本內容
merge 合並版本內容
參考:
http://www.cnblogs.com/chenlogin/p/5124318.html
Git 修改提交用戶名和email
git config --global user.name "Your Name"
git config --global user.email you@example.com
全局的通過vim ~/.gitconfig來查看
git config user.name "Your Name"
git config user.email you@example.com
局部的通過當前路徑下的 .git/config文件來查看
也可以修改提交的用戶名和Email:
git commit --amend --author='Your Name <you@example.com>'
參考 http://blog.chinaunix.net/uid-26997997-id-3231891.html