Git總結(jié)

以下為git常見(jiàn)指令的節(jié)點(diǎn)變化


圖示git.jpg

以下文字總結(jié)參考廖雪峰的git教程

分布式版本控制系統(tǒng)

配置倉(cāng)庫(kù)的使用者(--global 表示這臺(tái)機(jī)器所有g(shù)it倉(cāng)庫(kù)都使用這個(gè)配置)

$git config --global user.name ""

$git config --global user.email ""

版本庫(kù)(repository) - 被git所管理的目錄

1赏参、創(chuàng)建空目錄

$mkdir learngit //創(chuàng)建learngit文件夾

$cd learngit //進(jìn)入learngit文件夾

$pwd //顯示當(dāng)前目錄

2把篓、將目錄變成git可以管理的倉(cāng)庫(kù)

$git init

3、在倉(cāng)庫(kù)里創(chuàng)建文件

$git add xxx.txt //把文件加到倉(cāng)庫(kù)    ----------------   $git checkout //撤銷(xiāo)工作區(qū)的修改紊浩,把暫緩區(qū)的最新版本移到工作區(qū)

$git commit -m "提交的說(shuō)明" //把文件提交到倉(cāng)庫(kù)

1疗锐、$git status//查看倉(cāng)庫(kù)當(dāng)前的狀態(tài)

比較區(qū)間版本

區(qū)間:

1、工作區(qū) (working tree)

2口芍、暫緩區(qū)(index/stage) - 執(zhí)行g(shù)it add后

3简珠、本地倉(cāng)庫(kù)(repository) - 執(zhí)行g(shù)it commit后

$git diff// 查看working tree 與 index的差別

$git diff --cached// 查看index與repository的差別

$git diff HEAD//查看working tree與repository的差別,其中HEAD代表最近一次commit的信息
回退
版本回退
$git log//查看提交日志

$git reflog//查看歷史提交日志膘融,每條日志都有

$git log --pretty=oneline//查看提交日志(一行)

$git reset --hard HEAD^ //回退回上一個(gè)版本(head^^上兩個(gè)版本祭玉,head~100往上100個(gè)版本)

$git reset --hard 1094a //回退至指定版本

$cat readme.txt//查看指定文件
撤銷(xiāo)修改
git checkout -- file //1脱货、未放置暫存區(qū),撤銷(xiāo)回到版本庫(kù)一樣的狀態(tài) 2臼疫、已加到暫存庫(kù)扣孟,又做了修改,撤銷(xiāo)回到添加到暫存區(qū)后的狀態(tài)(回到最近的一次git commit或者git add狀態(tài))

git reset HEAD readme.txt//將暫存區(qū)的修改撤銷(xiāo),重新回到工作區(qū)

1鸽斟、想直接丟棄工作區(qū)的修改 git checkout

2拔创、想丟棄暫存區(qū)的修改 git reset HEAD ->git checkout

3、想丟棄版本庫(kù)的修改 git reset --hard

刪除文件
git checkout -- readme.txt //工作區(qū)刪除文件富蓄,但是版本庫(kù)還留存剩燥,可以恢復(fù)文件

git rm readme.txt //從版本庫(kù)刪除文件

先手動(dòng)刪除工作區(qū)文件后,想從版本庫(kù)刪除文件

git add readme.txt 與 git rm readme.txt 效果一致

遠(yuǎn)程倉(cāng)庫(kù)
添加遠(yuǎn)程庫(kù)
git remote add origin https://github.com/mirse/learnGit.git //關(guān)聯(lián)遠(yuǎn)程庫(kù)

git push -u origin master //第一次推送master分支的所有內(nèi)容  -u git不但會(huì)把本地分支推送到遠(yuǎn)程立倍,并且會(huì)把二者關(guān)聯(lián)起來(lái)

git push origin master //每次本地提交后灭红,推送最新版到遠(yuǎn)程
從遠(yuǎn)程庫(kù)克隆
git clone https://github.com/mirse/WeatherDemo.git //從遠(yuǎn)程庫(kù)克隆
分支管理
創(chuàng)建和分支合并
git branch //查看分支

git branch <name> //創(chuàng)建分支

git checkout <name> 或 git switch <name> //切換分支

git checkout -b <name> 或 git switch -c <name> // 創(chuàng)建并切換分支

git merge <name> // 合并某分支到當(dāng)前分支

git branch -d <name> //刪除分支
解決沖突

合并分支時(shí)可能遇到?jīng)_突,根據(jù)文本提示解決后重新git add ->git commit

<<<<<<< HEAD   (HEAD表示當(dāng)前)
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1 (feature1表示要合并的分支)
git log --graph //查看分支合并圖
分支管理

如果使用禁用fast forawrd模式帐萎,git會(huì)在merge時(shí)生成一個(gè)新的commit

git merge <name> // 合并某分支到當(dāng)前分支(默認(rèn)使用ast forward模式)

git merge --no-off --m "說(shuō)明內(nèi)容" <name> //合并分支不使用Fast forward模式
bug分支
git stash //貯藏當(dāng)前文件修改

git stash list//查看貯藏列表

git stash pop//應(yīng)用貯藏比伏,同時(shí)把stash內(nèi)容刪除

git stash apply stash@{0}//應(yīng)用貯藏疆导,但是stash內(nèi)容不刪除

git stash drop//刪除貯藏

git cherry-pick <commitId> //復(fù)制一個(gè)特定的提交到當(dāng)前分支
分支強(qiáng)制刪除
git branch -D <name>
多人協(xié)作
git remote -v //查看遠(yuǎn)程庫(kù)信息

git push origin branch-name //從本地推動(dòng)分支

git checkout -b branch-name origin/branch-name //在本地分支創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支

git pull //從遠(yuǎn)程抓取分支
Rebase
git rebase //將本地未push的分支提交歷史整理成直線(xiàn)
標(biāo)簽管理
創(chuàng)建標(biāo)簽
git tag <tagname> //新建一個(gè)標(biāo)簽(HEAD)

git tag <tagname> commitId //在commitId新建一個(gè)標(biāo)簽

git tag -a <tagname> -m "blblbl" //創(chuàng)建帶有說(shuō)明的標(biāo)簽
操作標(biāo)簽
git push origin <tagname> //推送一個(gè)本地標(biāo)簽

git push origin --tags //推送全部未推送過(guò)的本地標(biāo)簽

git tag -d <tagname> //刪除一個(gè)本地標(biāo)簽

git push origin :refs/tag/<tagname> //刪除一個(gè)遠(yuǎn)程標(biāo)簽
使用Github

1赁项、在gitHub上可以fork任意開(kāi)源倉(cāng)庫(kù)

2、擁有fork倉(cāng)庫(kù)的讀寫(xiě)權(quán)限

3澈段、修改后可以pull request給官方倉(cāng)庫(kù)

使用Gitee
1悠菜、(1)ssh-keygen -t rsa -C "your email" ->(2) cat ~/.ssh/id_rsa.pub ->(4)ssh -T git@gitee.com

//(1) 本地電腦生成ssh密鑰,-> (2)查看ssh密鑰 ->(3) 添加到gitee->(4) 確認(rèn)并添加主機(jī)到本機(jī)ssh可信列表

2败富、git remote -v //查看遠(yuǎn)程庫(kù)信息

3悔醋、git remote rm origin //刪除已有的github遠(yuǎn)程庫(kù)

4、 git remote add origin git@gitee.com:menghuanqv/test.git //關(guān)聯(lián)gitee遠(yuǎn)程庫(kù)

本地庫(kù)同時(shí)關(guān)聯(lián)github與gitee

使用多個(gè)遠(yuǎn)程庫(kù)時(shí)兽叮,git默認(rèn)給遠(yuǎn)程庫(kù)起的默認(rèn)名字是origin芬骄,如果有多個(gè)遠(yuǎn)程庫(kù),我們需要用不同的名稱(chēng)來(lái)表示不同的遠(yuǎn)程庫(kù)鹦聪。

 git remote add github git@gitee.com:menghuanqv/test.git

 git remote add gitee git@gitee.com:menghuanqv/test.git

推送:

git push github master  //推送到github

git push gitee master //推送到gitee
自定義git
忽略特殊文件
.gitignore //在文件里添加需要忽略的文件

git add -f //強(qiáng)行添加忽略文件所忽略的文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末账阻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子泽本,更是在濱河造成了極大的恐慌淘太,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件规丽,死亡現(xiàn)場(chǎng)離奇詭異蒲牧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)赌莺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)冰抢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人艘狭,你說(shuō)我怎么就攤上這事晒屎〈。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵鼓鲁,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我港谊,道長(zhǎng)骇吭,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任歧寺,我火速辦了婚禮燥狰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斜筐。我一直安慰自己龙致,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布顷链。 她就那樣靜靜地躺著目代,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗤练。 梳的紋絲不亂的頭發(fā)上榛了,一...
    開(kāi)封第一講書(shū)人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音煞抬,去河邊找鬼霜大。 笑死,一個(gè)胖子當(dāng)著我的面吹牛革答,可吹牛的內(nèi)容都是我干的战坤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼残拐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼途茫!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蹦骑,我...
    開(kāi)封第一講書(shū)人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慈省,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后眠菇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體边败,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年捎废,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笑窜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡登疗,死狀恐怖排截,靈堂內(nèi)的尸體忽然破棺而出嫌蚤,到底是詐尸還是另有隱情,我是刑警寧澤断傲,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布脱吱,位于F島的核電站,受9級(jí)特大地震影響认罩,放射性物質(zhì)發(fā)生泄漏箱蝠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一垦垂、第九天 我趴在偏房一處隱蔽的房頂上張望宦搬。 院中可真熱鬧,春花似錦劫拗、人聲如沸间校。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)憔足。三九已至,卻和暖如春差购,著一層夾襖步出監(jiān)牢的瞬間四瘫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工欲逃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留找蜜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓稳析,卻偏偏與公主長(zhǎng)得像洗做,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子彰居,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356