1. 程式人生 > >Ubuntu16.04上使用git

Ubuntu16.04上使用git

空文件夾 不用 trunk pre 公鑰 merge 測試 理解 1.7

各系統git的使用除了安裝方式不同,基本都一樣,本文記錄的是Ubuntu16.04上使用git

首先要區分git和github的區別:

Git是分布式版本控制系統,也指基於命令行的版本管理工具
github是個網站,用於遠程托管你的項目,相當於雲盤

在使用git前先去github註冊一個自己的賬戶,郵箱,用戶名,密碼在以後都會使用到,不要亂填,也不要忘記。 面對純英文的網站,可能你會感覺很懵,暫且不用管,我們常用的功能並不多,等你熟悉以後就會覺得so easy 註冊完之後根據這個教程學習:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
很詳細,囊括了幾乎所有git的知識。面對這些命令,可能你會感覺有點恐懼,告訴自己,所有的恐懼都是因為自己不熟悉,等你熟悉之後一切都是很簡單的。在這裏,不用刻意去記住每個命令,理解git一些名詞的概念和工作原理,常用命令的含義就可以了。最好的學習辦法是跟著教程自己做一遍。 在弄懂了git中重要概念時,為了方便使用,可以使用圖形化工具了,Windows可以使用source Tree,當然很多開發工具都集成了git,這裏暫不做過多介紹。 本文重點是講Ubuntu下如何初始化git倉庫並關聯到github上 1.git安裝 在Ubuntu下隨便打開終端輸入:
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)‘ cant be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)?

輸入yes按回車,出現以下提示表明成功

Hi jieker! Youve 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