Git、GitHub、TortoiseGit ?
http://www.cnblogs.com/guyoung/archive/2012/02/18/8030-.htmlhtml
GitHubgit
Github官網:https://github.com/
github
github是一個git項目託管網站。web
GitHub能夠託管各類git庫,並提供一個web界面,但與其它像 SourceForge或GoogleCode這樣的服務不一樣,GitHub的獨特賣點在於從另一個項目進行分支的簡易性。爲一個項目貢獻代碼很是簡單:首先點擊項目站點的「fork」的按鈕,而後將代碼檢出並將修改加入到剛纔分出的代碼庫中,最後經過內建的「pull request」機制向項目負責人申請代碼合併。已經有人將GitHub稱爲代碼玩家的MySpace。ssh
1. 安裝msysgit.工具
下載地址:網站
http://code.google.com/p/msysgit/google
2. 安裝最新版的TortoiseGitspa
下載地址:3d
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 提交到本機。
1. GitHub 我的主頁
即別人能夠經過 http://[用戶名].github.com/ 訪問到的二級域名頁面。這個比較簡單,只要在 GitHub 上創建一個名爲 [用戶名].github.com 的項目,把頁面內容經過 Git 工具從本地推送上去便可。首次創建項目可能須要等一會(至多十分鐘)才能訪問,之後更新內容均可以當即刷新訪問。
2. GitHub 項目演示頁面
即別人能夠經過 http://[用戶名].github.com/[項目名] 訪問到的項目演示頁面。這比上一個稍微麻煩一點,須要多創建一個 gh-pages 分支。每次提交項目之後,把更新推送一份到這個分支便可。和我的主頁同樣,首次創建分支之後須要等一會(至多十分鐘)才能訪問,之後更新內容均可以當即刷新訪問。
由於咱們在 GitHub 上創建項目,多數時候都只是作一個在線備份或者簡單的分享,並不須要複雜的分支管理,因此時間長了就會以爲要多維護一個分支仍是挺費事的。那有沒有辦法能夠只維護一個分支也可以生成演示頁面呢?固然是能夠的,咱們把默認的 master 分支刪除,把 gh-pages 當成主分支,只維護這一個分支就行了嘛。
Git如何進行分支管理?
一、建立分支
建立分支很簡單:git branch <分支名>
二、切換分支
git checkout <分支名>
該語句和上一個語句能夠和起來用一個語句表示:git checkout -b <分支名>
三、分支合併
好比,若是要將開發中的分支(develop),合併到穩定分支(master),
首先切換的master分支:git checkout master。
而後執行合併操做:git merge develop。
若是有衝突,會提示你,調用git status查看衝突文件。
解決衝突,而後調用git add或git rm將解決後的文件暫存。
全部衝突解決後,git commit 提交更改。
四、分支衍合
分支衍合和分支合併的差異在於,分支衍合不會保留合併的日誌,不留痕跡,而 分支合併則會保留合併的日誌。
要將開發中的分支(develop),衍合到穩定分支(master)。
首先切換的master分支:git checkout master。
而後執行衍和操做:git rebase develop。
若是有衝突,會提示你,調用git status查看衝突文件。
解決衝突,而後調用git add或git rm將解決後的文件暫存。
全部衝突解決後,git rebase --continue 提交更改。
五、刪除分支執行git branch -d <分支名> 若是該分支沒有合併到主分支會報錯,能夠用如下命令強制刪除git branch -D <分支名>