一:建立Repositories
1:首先在github下建立一個賬號。這個不用多說,而後建立一個Repositories。
2:而後在ubuntu下安裝git相關的東東:html
1 |
sudo apt-get install git-core git-gui git-doc -y |
3:在ubuntu本地建立一個ssh密匙:git
1 |
ssh-keygen -t rsa -C "your_email@youremail.com" |
會提示在用戶home目錄下.ssh子文件夾中生成一個密匙,而後要求輸也密碼等等,最後會得下以下提示:
其中會在/~/home/.ssh/文件夾中生成id_rsa.pub與id_rsa兩個文件.其中id_rsa是私鑰,保存存在本地,id_rsa.pub是公鑰.
而後將公鑰中的內容粘貼到你github賬號中的SSH Public Keys的位置。注意當心不要複製到空格。
4:測試ssh是否鏈接正常(因爲github官網有存在被G[F]\W的可能,你可能須要V[P\N]).github
1 |
ssh -T git@github.com |
注意git@github.com不能改變,那是github官網的地址.運行以後會提示是否接受新的sshkey請求,輸入'yes',而後還會有一個請求訪問咱們剛纔創建的id_rsa私鑰請求,這時輸入私鑰的密碼,若是獲得以下提示就表示成功:shell
1 |
Hi justchen! You've successfully authenticated, but GitHub does not provide shell access. |
5:接下來就是最重要的環節了,配置github的環境.
第一次初始化git項目目錄的話,創建項目目錄,而後進入目錄再依次運行如下命令進行初始化.ubuntu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
git config --global user.email git config --global user.name git init # github會自動讀取你的README內容並顯示在項目簡介中,所以先建立README touch README # 將README加到index中 git add README # 提交到版本庫中 git commit -m 'first commit' # -m後面的字符串表示本次變化的的提交說明 #運行git add xxx或git commit -m 'xxx'後並無把文件上傳到github服務器,只是在git本地更新了代碼版本 # 把github的repo加入爲遠程的repo git remote add origin git@github.com:/test.git # 把目前的commit狀態push並同步到github上面,須要訪問你的ssh私鑰並輸入密碼 git push origin master #上面這條命令是以原始master的身份提交git,須要訪問你的ssh私鑰並輸入密碼 #若是你已經建立過一次git remote add origin xx,只是代碼更新時,就運行下面這行就能夠了 git push origin master |
附一些經常使用的git命令.bash
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# 建立一個版本庫 git init # 每次修改好了後,能夠先將修改存入stage(快照/索引)中 git add # 修改了大量文件則使用下面這個命令批量存入 git add . # 使用commit將快照/索引中的內容提交到版本庫中 git commit -m "msg" # 也能夠將git add與git commit用一個指令完成 git commit -a -m "msg" # 將本地的git檔案與github(遠程)上的同步 git push # 將github(遠程)的git檔案與本地的同步(即更新本地端的repo) git pull # 例如,pull指令其實包含了fetch(將變動複製回來)以及merge(合併)操做 git pull git://github.com/tom/test.git # 另外版本控制系統的branch功能也頗有意思,若同時修改bug,又要加入新功能,能夠fork出一個branch:一個專門修bug,一個專門加入新功能,等到穩定後再merge合併 git branch bug_fix # 創建branch,名爲bug_fix git checkout bug_fix # 切換到bug_fix git checkout master #切換到主要的repo git merge bug_fix #把bug_fix這個branch和如今的branch合併 # 如有remote的branch,想要查看並checkout git branch -r # 查看遠程branch git checkout -b bug_fix_local bug_fix_remote #把本地端切換爲遠程的bug_fix_remote branch並命名爲bug_fix_local # 還有其它能夠查看repo狀態的工具 git log #能夠查看每次commit的改變 git diff #能夠查看最近一次改變的內容,加上參數能夠看其它的改變並互相比較 git show #能夠看某次的變動 # 若想知道目前工做樹的狀態,能夠輸入 git status |