Git、GitHub、TortoiseGit ?
http://www.cnblogs.com/guyoung/archive/2012/02/18/8030-.html
GitHub
Github官網:https://github.com/
github是一個git項目托管網站。
GitHub可以托管各種git庫,並提供一個web界面,但與其它像 SourceForge或GoogleCode這樣的服務不同,GitHub的獨特賣點在於從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出並將修改加入到剛才分出的代碼庫中,最後通過內建的“pull request”機制向項目負責人申請代碼合並。已經有人將GitHub稱為代碼玩家的MySpace。
快速上手
1. 安裝msysgit.
下載地址:
http://code.google.com/p/msysgit/
2. 安裝最新版的TortoiseGit
下載地址:
3. 配置TortoiseGit,在Setting-General-Msysgit中指定git.exe為msysgit安裝目錄下的\bin目錄里的git.exe,另外External dll 為msysgit安裝目錄下的\mingw\bin;
4. 打開TortoiseGit程序組中的Puttygen
5. 鼠標點擊"generate",使用鼠標在空間面板中任意活動,產生你的Putty密鑰,無需輸入key passphrase,然后點擊Save private key到本地.
6. 從Puttygen中copy你的公鑰,你的公鑰是一個位於第一個文本域中的比較大的隨機的字母數字串,它看起來如下:
ssh-rsa
AAAB3NzaC1yc2EAAAABJQAAAIBqFftopEl3HNQ+SUmh9dFW39+IYU1ZYLG04GU
Nh02DEbgKn9qaCJDjqCh9a7LO+oN6RjcWLIwaPPlwZI1w6el5WaZKeKEOtWqgQW+
trnLRijgF9sPRR7jweM13S8lnpSvCUQbPxUyaNHZkEmY2PI1BaANv3d9YGnnhbKXPz
m0rmQ== rsa-key-20091128
7. 在GitHub中創建一個帳戶,導航到Account settings,點擊"ssh public keys", 把你在上面產生的公鑰增加進去。
8. 在GitHub中新建一個Repository-"yourproject",進入你的Repository-"yourproject"
9. 從你的Repository-"yourproject"庫的主頁頂部中,點擊copy to clipboard 圖標,你的Git地址看起來如下:"git@github.com:yourname/yourproject.git"
10. 在你的硬盤上為這個"yourproject"源碼創建一個新目錄, 點擊右鍵選擇"Git Clone...".
11. 在URL中輸入你在第8步中的URL clone地址.
12. 選中"Load Putty Key" ,並選擇你在第4步存儲的私鑰位置。
13. 點擊OK即可獲取你的項目"yourproject"分支了。
日常開發
1.Git Commit 提交到本機。
如何在 GitHub 建立個人主頁和項目演示頁面
1. GitHub 個人主頁
即別人可以通過 http://[用戶名].github.com/ 訪問到的二級域名頁面。這個比較簡單,只要在 GitHub 上建立一個名為 [用戶名].github.com 的項目,把頁面內容通過 Git 工具從本地推送上去即可。首次建立項目可能需要等一會(至多十分鍾)才能訪問,以后更新內容都可以立即刷新訪問。
2. GitHub 項目演示頁面
即別人可以通過 http://[用戶名].github.com/[項目名] 訪問到的項目演示頁面。這比上一個稍微麻煩一點,需要多建立一個 gh-pages 分支。每次提交項目以后,把更新推送一份到這個分支即可。和個人主頁一樣,首次建立分支以后需要等一會(至多十分鍾)才能訪問,以后更新內容都可以立即刷新訪問。
因為我們在 GitHub 上建立項目,多數時候都只是做一個在線備份或者簡單的分享,並不需要復雜的分支管理,所以時間長了就會覺得要多維護一個分支還是挺費事的。那有沒有辦法可以只維護一個分支也能夠生成演示頁面呢?當然是可以的,我們把默認的 master 分支刪除,把 gh-pages 當成主分支,只維護這一個分支就好了嘛。
Git如何進行分支管理?
1、創建分支
創建分支很簡單:git branch <分支名>
2、切換分支
git checkout <分支名>
該語句和上一個語句可以和起來用一個語句表示:git checkout -b <分支名>
3、分支合並
比如,如果要將開發中的分支(develop),合並到穩定分支(master),
首先切換的master分支:git checkout master。
然后執行合並操作:git merge develop。
如果有沖突,會提示你,調用git status查看沖突文件。
解決沖突,然后調用git add或git rm將解決后的文件暫存。
所有沖突解決后,git commit 提交更改。
4、分支衍合
分支衍合和分支合並的差別在於,分支衍合不會保留合並的日志,不留痕跡,而 分支合並則會保留合並的日志。
要將開發中的分支(develop),衍合到穩定分支(master)。
首先切換的master分支:git checkout master。
然后執行衍和操作:git rebase develop。
如果有沖突,會提示你,調用git status查看沖突文件。
解決沖突,然后調用git add或git rm將解決后的文件暫存。
所有沖突解決后,git rebase --continue 提交更改。
5、刪除分支
執行git branch -d <分支名>
如果該分支沒有合並到主分支會報錯,可以用以下命令強制刪除git branch -D <分支名>
