Ubuntu16.04上使用git
各系統git的使用除了安裝方式不同,基本都一樣,本文記錄的是Ubuntu16.04上使用git
首先要區分git和github的區別:
Git是分布式版本控制系統,也指基於命令行的版本管理工具
github是個網站,用於遠程托管你的項目,相當於雲盤
sudo apt-get install git
git config --global user.name "Your Name" git config --global user.email "[email protected]"
配置git賬號,此處的用戶名和郵箱即是在github上註冊的用戶名和使用郵箱,註意改成自己的名字和郵箱
2.創建倉庫
可以新建個空文件夾或在已有項目的根目錄下打開終端,執行如下 git init 命令初始化倉庫,結果如下:
git init
初始化空的 Git 倉庫於 /home/jieker/work/parking_web/parking/trunk/.git/
此處的trunk即時托管的項目,執行完以上命令項目文件夾會多出個.git目錄,如果看不到,表示隱藏了,按Ctrl+h鍵顯示
本地git倉庫就完成了
3.建立ssh鏈接
地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所有先創建ssh密鑰,執行命令:
ssh-keygen -t rsa -C "[email protected]"
註意改成自己的郵箱,執行玩該命令後即會在用戶目錄下生成 .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 [email protected] 命令進行測試
ssh -T [email protected]
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 [email protected]: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的內容說多也不多,主要要多使用。
Ubuntu16.04上使用git