Git是什么?
Git 是用于 Linux內(nèi)核開發(fā)的版本控制工具。版本控制工具就是用于記錄開發(fā)過程的每個版本
GitHub是什么?
它是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,所以叫GitHub。
我們可以從使用GitHub的方式去了解如何使用Git。
- 先去GitHub注冊一個賬號
image - 注冊后進入這個頁面,我們來新建一個倉庫
image - 點擊后,輸入庫名,設(shè)置為公有(私有收費),勾選一下初始化生成一個READMA文件(自愿,勾不勾都可以,初次使用最好勾選)
image - 創(chuàng)建庫后,在頁面中尋找clone or download,點擊后使用Use SSH,復(fù)制它提供的鏈接
image - 打開終端,輸入git clone (你復(fù)制的地址),回車,它的意思就是你創(chuàng)建的下載提示到你的電腦里
- 當(dāng)你在執(zhí)行這句話的時候,第一次操作它會有個報錯,試著閱讀一下,提示你需要設(shè)置一個公鑰,這是因為github需要知道你是否有權(quán)限去下載,不可能無論是誰都可以下載吧
-
在GitHub頁面上的右上角有一個頭像,點擊它,點擊Settings,找到SSH and GPG keys,去使用一下它的幫助,image
點擊后尋找Generating a new SSH key and adding it to the ssh-agent,
image
復(fù)制這一行代碼,把它輸入終端后,一直按回車(注意:改成你的郵箱)
image
此時它會在你的文件夾下生成一個私鑰id_rsa和一個公鑰id_rsa.pub,接下來我們需要把id_rsa.pub的內(nèi)容拷貝下來,你可以使用vim編輯器去拷貝也可以輸入cat id_rsa.pub,去用鼠標(biāo)拷貝(注意:要完整的復(fù)制,不要少)
image -
打開GitHub頁面,點擊New SSH keys,在title下輸入名稱(什么都行),在key下粘貼,點擊添加
image - 點擊Use SSH,復(fù)制它提供的鏈接, 打開終端,輸入git clone (你復(fù)制的地址),進行下載,進入你下載的文件夾(文件夾名應(yīng)該就是你新建的庫名),在里面創(chuàng)建一個文件,添加到緩存區(qū),提交到本地庫,推送到github遠程庫,此時你的github網(wǎng)頁庫里會出現(xiàn)你在終端創(chuàng)建的文件
cd blog /blog是你的文件夾名,意思是進入blog文件夾
touch a.md /創(chuàng)建文件a.md
echo"hello" > a.md /向文件里寫入字符串
git status /可以列出當(dāng)前目錄所有還沒有被git管理的文件和被git管理且被修改但還未提交的文件.
git add . /添加到緩存區(qū)
git commit -am "addfile" /把暫存區(qū)的更新提交到本地庫,“”中內(nèi)容是描述一下你做了什么
git push origin master /推送到github遠程庫
就是通過這樣的過程,你就可以將自己電腦中的項目,通過終端推送到GitHub上
當(dāng)你第一次提交到遠程庫時可能會出現(xiàn)讓你設(shè)置你的郵箱和密碼,輸入后會彈出一個githu的登陸頁面,登陸進去就可以啦
- 下面是一些基本的操作,可以自己嘗試一下
git pull /使用前最好變動更新一下本地庫
如果想要在本地新建一個項目然后推送到遠程github上
mkdir blogtest /創(chuàng)建一個空的blogtest文件夾
touch blogtest.md /添加一個文件
git init /用它來初始化,把空文件夾變成倉庫
git remote -v /查看本地倉庫里記錄的遠程倉庫地址
git remote add origin 地址
git push origin master
分支操作
git branch -a /查看分支
git branch dev /創(chuàng)建本地庫dev分支
git checkout dev /切換到dev分支
git push origin dev /推送到origin地址的dev分支上
git checkout master /切換到master
git merge dev /把dev分支上的內(nèi)容合并到當(dāng)前主干(master)上
- 沖突
當(dāng)自己和別人改同一個文件的同一個地方,在執(zhí)行g(shù)it pull時更新本地合并時會出現(xiàn)沖突
1.修復(fù)沖突文件
2.重新提交








