各系統git的使用除了安裝方式不一樣,基本都同樣,本文記錄的是Ubuntu16.04上使用gitgit
首先要區分git和github的區別:github
Git是分佈式版本控制系統,也指基於命令行的版本管理工具
github是個網站,用於遠程託管你的項目,至關於雲盤web
sudo apt-get install git
git config --global user.name "Your Name" git config --global user.email "email@example.com"
配置git帳號,此處的用戶名和郵箱便是在github上註冊的用戶名和使用郵箱,注意改爲本身的名字和郵箱shell
2.建立倉庫ruby
能夠新建個空文件夾或在已有項目的根目錄下打開終端,執行以下 git init 命令初始化倉庫,結果以下:ssh
git init
初始化空的 Git 倉庫於 /home/jieker/work/parking_web/parking/trunk/.git/
此處的trunk即時託管的項目,執行完以上命令項目文件夾會多出個.git目錄,若是看不到,表示隱藏了,按Ctrl+h鍵顯示分佈式
本地git倉庫就完成了ide
3.創建ssh連接工具
本地Git倉庫和GitHub倉庫之間的傳輸是經過SSH加密的,全部先建立ssh密鑰,執行命令:學習
ssh-keygen -t rsa -C "youremail@example.com"
注意改爲本身的郵箱,執行玩該命令後即會在用戶目錄下生成 .ssh 目錄,若是沒看到,表示隱藏了,按Ctrl+h鍵顯示
進入改目錄,能夠看到有兩個文件:id_rsa和id_rsa.pub。id_rsa是私鑰,id_rsa.pub是公鑰。
接下來要把公鑰加到github上
用gedit或其它工具打開id_rsa.pub,全選複製裏面的內容
登陸github,點左上角下拉選的settings
而後選擇 SSH and GPG keys,出現以下界面
點左上角New ssh key,把公鑰文件的內容複製進去,保存就能夠了
輸入 ssh -T git@github.com 命令進行測試
ssh -T git@github.com
The authenticity of host 'github.com (52.74.223.119)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)?
輸入yes按回車,出現如下提示代表成功
Hi jieker! You've successfully authenticated, but GitHub does not provide shell access.
4.本地git倉庫關聯遠程github倉庫
在github上創建和本地倉庫同樣名字的倉庫
用命令:git remote add origin
把本地庫和遠程庫關聯
git remote add origin git@github.com:jieker/trunk.git
此處沒提示,git不少時候沒提示就表明成功
在終端進入本地倉庫目錄
若是是空目錄,能夠加點文件
查看當前項目更改狀態:
git status
把更改加入暫存區:
git add .
提交更改:
git commit -m "第一次提交"
推送到遠程github倉庫
git push -u origin master
首次推送須要加 -u,有時候會提示你輸入密碼,輸入按回車便可
一切順利的話就到此結束了
附git團隊協做的工做流程
git支持不少種工做流程,咱們採用的通常是這樣,遠程建立一個主分支dev,本地每人建立功能分dev_youName支,平常工做流程以下: 去本身的工做分支 $ git checkout work 工做 .... 提交工做分支的修改 $ git commit -a 回到主分支 $ git checkout master 獲取遠程最新的修改,此時不會產生衝突 $ git pull 回到工做分支 $ git checkout work 用rebase合併主幹的修改,若是有衝突在此時解決 $ git rebase master 回到主分支 $ git checkout master 合併工做分支的修改,此時不會產生衝突。 $ git merge work 提交到遠程主幹 $ git push 這樣作的好處是,遠程主幹上的歷史永遠是線性的。每一個人在本地分支解決衝突,不會在主幹上產生衝突。
不管是使用命令行仍是圖形化工具,思路基本是這樣
本文主要是簡單的介紹了git的使用,git的內容說多也很少,主要要多使用。