本教程主要是對(duì)廖大神的教程進(jìn)行的整理廖雪峰
一、分布式管理
二、git命令
1.安裝
1)Debian或Ubuntu Linux上
sudo apt-get install git
2)如果是其他Linux版本,可以直接通過源碼安裝。先從Git官網(wǎng)下載源碼亲雪,然后解壓,依次輸入:./config疚膊,make义辕,sudo make install這幾個(gè)命令安裝就好了
3)在Windows上安裝Git,在Windows上使用Git寓盗,可以從Git官網(wǎng)直接下載安裝程序灌砖,(網(wǎng)速慢的同學(xué)請(qǐng)移步國(guó)內(nèi)鏡像),然后按默認(rèn)選項(xiàng)安裝即可傀蚌。安裝完成后基显,在開始菜單里找到“Git”->“Git Bash”,蹦出一個(gè)類似命令行窗口的東西善炫,就說明Git安裝成功撩幽!
安裝之后使用命令
$ git config --global user.name"Your Name"$ git config --global user.email"email@example.com"
2.創(chuàng)建版本庫
創(chuàng)建目錄,pwd查看箩艺,通過git init變成git可管理倉庫
$ mkdir learngit
$ cd learngit
$ pwd
$git init
3.添加文件到版本庫
創(chuàng)建文本文件窜醉,并把它提交到倉庫上,注意這個(gè)文本在git目錄下艺谆,git status可以查看狀態(tài)榨惰,是否已修改git diff可以查看做了什么修改,git log可以查看各種版本提交日志
$git add readme.txt
$ gitcommit-m"wrote a readme file"
$ git status
$ git diff readme.txt
$ git log
4.版本回退
HEAD表示當(dāng)前版本静汤,HEAD^是回退上一版本琅催,HEAD^^回退上上個(gè)版本居凶。要是后悔回退了,可以用git reflog查看移除版本的commod id然后恢復(fù)
$ git reset--hard HEAD^
$git reflog
5.撤銷修改
沒add的時(shí)候可以checkout撤銷
$ git checkout -- readme.txt
add之后的撤銷:$ git resetHEAD readme.txt
丟棄工作區(qū)的修改
$ git checkout-- readme.txt
6.刪除文件
刪除并提交到工作區(qū):$ git rm test.txtrm 'test.txt'$ gitcommit-m"remove test.txt"
撤銷刪除:$ git checkout -- test.txt
三恢暖、git的工作區(qū)和暫存區(qū)
工作區(qū)就是leangit目錄排监,暫存區(qū)就在.git目錄的版本庫的一個(gè)區(qū),git add時(shí)添加到暫存區(qū)杰捂,git -commit添加到工作去
每次修改舆床,如果不用git add到暫存區(qū),那就不會(huì)加入到工作區(qū)中嫁佳。
四挨队、遠(yuǎn)程倉庫
github
1.創(chuàng)建SSH
在用戶主目錄下,看看有沒有.ssh目錄蒿往,如果有盛垦,再看看這個(gè)目錄下有沒有id_rsa和id_rsa.pub這兩個(gè)文件,如果已經(jīng)有了瓤漏,可直接跳到下一步腾夯。如果沒有,打開Shell(Windows下打開Git Bash)蔬充,創(chuàng)建SSH Key:$ ssh-keygen -t rsa -C"youremail@example.com"蝶俱,登陸GitHub,打開“Account settings”饥漫,“SSH Keys”頁面:然后榨呆,點(diǎn)“Add SSH Key”,填上任意Title庸队,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容积蜻,然后就可以創(chuàng)建好了,SSH就是保證安全性的彻消。
2.添加到遠(yuǎn)程倉庫
create reposttiry,然后關(guān)聯(lián)竿拆,michaelliao改成自己的賬號(hào),push就可以推上去了
$ git remote add origin git@github.com:michaelliao/learngit.git
$ git push -u origin master
以后只要本地提交了就可以執(zhí)行命令:$ git push origin master
出現(xiàn)過這樣的失敗宾尚,原因是不同步丙笋,本地沒有READMD.md
解決辦法git pull --rebase origin master
查看遠(yuǎn)程倉庫
$ git remote -v
解除關(guān)聯(lián)
$ git remote rm?github
3.從遠(yuǎn)程倉庫克隆
可以克隆到本地
$ git clone git@github.com:michaelliao/gitskills.git
五.分支管理
1.創(chuàng)建分支及基本使用
就是創(chuàng)建自己能看到的分支,項(xiàng)目管理中別人看不到你的分支
$ git checkout -b dev相當(dāng)于下面兩條指令央勒,創(chuàng)建分支并切換
$ git branch dev
$ git checkout dev
然后用$ git branch查看當(dāng)前分支,在分支修改后的提交$ git add readme.txt$ git commit -m"branch test"
切回master:$ git checkout master
將分支的結(jié)果合并:$ git merge dev
刪除分支:$ git branch -d dev
六澳化、實(shí)際應(yīng)用
項(xiàng)目要上傳到github中來進(jìn)行項(xiàng)目協(xié)作
1.先建本地的git倉庫
2.新建一個(gè)github倉庫崔步,注意不要新建readmd,因?yàn)楹竺骊P(guān)聯(lián)到遠(yuǎn)程庫的時(shí)候如果遠(yuǎn)程庫初始信息和本地不一致就會(huì)報(bào)錯(cuò)缎谷。
3.把項(xiàng)目文件加到git倉庫目錄下,再加到git里井濒,然后commit提交
4.與遠(yuǎn)程倉庫建立聯(lián)系以及解除關(guān)聯(lián)
5.本地倉庫push進(jìn)遠(yuǎn)程庫
6.發(fā)布更新:
git status
git add *
git commit -m "發(fā)布更新"
git pull
git push origin master