最後更新於2017年01月24日python
爲何不用svn?linux
svn是一個優秀的代碼和版本管理工具,使用svn只須要搭建好svn中央倉庫,配置本地svn客戶端便可,自從google code關閉服務以後,互聯網上已經沒有很是好的公共svn倉庫,若是是公司內部使用,還能夠用上公司內網搭建的svn服務器,但我的就沒那麼方便了。git
爲何用git?github
git和svn一樣做爲代碼和版本管理工具,git的理念更先進,並且公共git倉庫github真的好用,衆多優秀的開源項目都放在githubwindows
什麼是git、github、tortoisegit?緩存
github是目前世界上最大的代碼託管平臺,對我的也提供了很是豐富的功能;git客戶端是windows系統下與github倉庫傳輸數據的客戶端工具;tortoisegit是git圖形管理界面,依賴git客戶端,提交時能夠清晰看到變動內容安全
github官方網站:https://github.com/,註冊過程:略bash
git客戶端下載地址:https://www.git-scm.com/服務器
tortoisegit下載地址:https://tortoisegit.org/eclipse
雙擊下載的安裝包,默認安裝直到完成。
git客戶端須要配置ssh創建與github之間的遠程安全鏈接,安裝完git客戶端以後有以下快捷方式
打開git bash,輸入如下內容,郵箱爲github註冊郵箱
ssh-keygen -t rsa -C "573215750@qq.com"
回車,輸入「yes」,再回車,將在「C:\Users\john\.ssh\id_rsa.pub」文件生成ssh密鑰,複製全部內容
登陸github,打開「Settings」
點擊左側「SSH and GPG keys」菜單,而後點擊右側上方「New SSH key」按鈕,「Title」隨意輸入名稱,「Key」處粘貼剛纔複製的密鑰,注意最後不要留空格或換行,保存配置
ssh -T git@github.com
第一次須要輸入「yes」而後回車才能看到鏈接成功的信息,之後就不須要了
配置全局的用戶名、郵箱信息,做爲提交人信息
git config --global user.name "ywlaker" git config --global user.email "573215750@qq.com"
登陸github,建立一個工程,名爲「test」,勾選「Initialize this repository with a README」,並選擇一個license,以「Apache License 2.0」爲例
建立完「test」倉庫以後,查看該倉庫,只包含兩個文件:「README.md」和「LICENSE」
在eclipse下建立工程,名爲「test」(名稱任意),在資源管理器中查看項目
在git bash中查看項目(linux下點開頭的文件爲隱藏文件,因此只能看到三個文件(夾))
github的license與readme文件要同步到eclipse工程,eclipse工程的代碼要同步到github倉庫,而且eclipse自動生成的那些「.settings」、「.project」、「.classpath」還有「target」不須要同步到github倉庫,怎麼處理?
在資源管理器中打開「test」工程根目錄,右鍵「Git Create repository here...」
或者,git bash輸入命令
cd /d/eclipse/workspace/test/ git init
git bash輸入命令
git remote add origin git@github.com:ywlaker/test.git git pull origin master
將eclipse自動生成的與代碼無關的文件排除在同步列表以外,git bash切換到工程根目錄,輸入
vi .gitignore
而後按下鍵盤的「i」鍵,輸入
target/ .settings .classpath .project
按下「esc」鍵,再輸入「:wq」保存退出,此時「test」工程根目錄多了一個「.gitignore」文件
由於windows下沒法新建以點號開頭的文件,因此只能用上面這種方式。
在資源管理器中進入「test」工程根目錄,右鍵「Git Commit -> 'master'」
出現和tortoisesvn同樣的提交界面,肯定內容後提交便可
這一步是將文件提交到本地git緩存,用命令行也能夠,git bash切換至工程更目錄,輸入
git add ./* git commit -m "comment"
最後,將本地緩存同步到github倉庫
git push -u origin master