Git基礎(chǔ)命令與操作

Git是一個(gè)分布式的版本控制系統(tǒng)现使,它在版本控制琉历、分支管理方面有突出的表現(xiàn)将谊。

參考教程 Git教程

git.png

1.本地倉(cāng)庫(kù)

1.1初始化

cd到需要進(jìn)行版本控制的目錄下屋匕,對(duì)該目錄的項(xiàng)目創(chuàng)建本地git版本庫(kù)

git init
1.2工作區(qū)-->暫存區(qū)

工作區(qū)就是當(dāng)前目錄蹂析,目錄下的文件更改需要添加到暫存區(qū)抖剿。
暫存區(qū)是版本庫(kù)中用于接受git add文件的區(qū)域,可以理解為臨時(shí)保存將要正式提交的文件识窿。

git add <file>
1.3暫存區(qū)-->本地倉(cāng)庫(kù)

暫存區(qū)中的文件經(jīng)過commit之后斩郎,才會(huì)最終記錄在版本庫(kù)的記錄中。

git commit -m <comment>
1.4查看狀態(tài)
git status
1.5比較工作區(qū)與暫存區(qū)
git diff
1.6比較工作區(qū)與版本庫(kù)最新提交
git diff HEAD

2版本管理

2.1查看歷史

git log只能查看該commit之前的歷史

git log

git reflog可以查看所有分支的所有操作(包括commit和reset)

git reflog
2.2回到前x個(gè)版本
git reset --hard HEAD~x
2.3回到某個(gè)版本
git reset --hard <commit-id>
2.4撤銷工作區(qū)的修改

場(chǎng)景1:文件修改后喻频,未add到暫存區(qū)缩宜,直接丟棄更改;

git checkout -- <file>

場(chǎng)景2:文件修改后,已a(bǔ)dd到暫存區(qū)锻煌,先用git rest HEAD <file>回到場(chǎng)景1妓布,再按場(chǎng)景1操作

git reset HEAD <file>

場(chǎng)景3:文件修改后,已a(bǔ)dd到暫存區(qū)宋梧,并且commit到版本庫(kù)

git reset HEAD <file>
2.5刪除文件

在Git中匣沼,刪除也是一種操作,需要使用git rm <file>(與git add <file>類似)捂龄,刪除之后還需要commit

git rm <file>
# 從git倉(cāng)庫(kù)移除文件释涛,但不刪除本地文件
git rm --cached <file>

3.遠(yuǎn)程倉(cāng)庫(kù)

3.1將遠(yuǎn)程倉(cāng)庫(kù)克隆到本地
git clone <remote-address>
3.2關(guān)聯(lián)遠(yuǎn)程git倉(cāng)庫(kù)
git remote add origin <remote-address>
3.3首次向遠(yuǎn)程倉(cāng)庫(kù)推送master
git push -u origin master
3.4從本地推送分支
git push origin <branch>
3.5從遠(yuǎn)程抓取當(dāng)前分支
git pull
3.6在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支(分支名稱最好一致)
git checkout -b <branch> origin/<branch>
3.7建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)
git branch --set-upstream <branch> origin/<branch>
3.8將本地分支推送到遠(yuǎn)程(遠(yuǎn)程分支不存在)
git push origin <local-branch>:<remote-branch>
3.9將遠(yuǎn)程分支拉取到本地
git checkout -b <local-branch> origin/<remote-branch>
3.10查看遠(yuǎn)程庫(kù)信息
git remote -v   

4.分支管理

4.1創(chuàng)建分支
git branch <branch>
4.2切換分支
git checkout <branch>
4.3創(chuàng)建并切換分支
git checkout -b branch_name
4.4列出所有的分支
git branch
4.5合并指定分支到當(dāng)前分支
git merge [--abbrev-commit] [-m "message"] <branch>
4.6刪除分支
git branch -d <branch>
# 刪除遠(yuǎn)程分支并推送到遠(yuǎn)程
git branch -r -d <branch> && git push origin :<branch>
4.7強(qiáng)行刪除未合并的分支
git branch -D branch_name
4.8存儲(chǔ)當(dāng)前工作區(qū)
git stash
4.9查看保存的工作區(qū)
git stash list
4.10恢復(fù)stash但不刪除
git stash apply stash@{0}
4.11刪除stash
git stash drop
4.12恢復(fù)stash同時(shí)刪除stash
git stash pop
4.12將當(dāng)前分支rebase到目標(biāo)分支
git rebase <branch>

5.標(biāo)簽管理

5.1在當(dāng)前分支的最新commit上創(chuàng)建標(biāo)簽
git tag <tag-name>
5.2查看所有標(biāo)簽
git tag
5.3在當(dāng)前分支的指定commit_id上創(chuàng)建標(biāo)簽
git tag <tag-name> <commit-id>
5.4在當(dāng)前分支的指定commit_id上創(chuàng)建帶說明的標(biāo)簽
git tag -a <tag-name> -m <comment> <commit-id>
5.5查看標(biāo)簽信息
git show <tag-name>
5.6將標(biāo)簽推送到遠(yuǎn)程
git push origin <tag-name>
5.7推送所有未推送的本地標(biāo)簽到遠(yuǎn)程
git push origin --tags
5.8刪除標(biāo)簽
git tag -d <tag-name>
5.9將本地刪除的標(biāo)簽推送到遠(yuǎn)程(即刪除遠(yuǎn)程標(biāo)簽)
git tag push origin :refs/tags/<tag-name>
5.10切換到指定的標(biāo)簽
git checkout tag

6.其它

6.1檢查文件是否被忽略
git check-ignore -v <file>
6.2配置yy命令的別名為xx
git config --global alias.xx yy
6.3配置git lg為各種git log附加效果的別名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市倦沧,隨后出現(xiàn)的幾起案子唇撬,更是在濱河造成了極大的恐慌,老刑警劉巖展融,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窖认,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡告希,警方通過查閱死者的電腦和手機(jī)扑浸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)燕偶,“玉大人喝噪,你說我怎么就攤上這事『脊颍” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵驰吓,是天一觀的道長(zhǎng)涧尿。 經(jīng)常有香客問我,道長(zhǎng)檬贰,這世上最難降的妖魔是什么姑廉? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮翁涤,結(jié)果婚禮上桥言,老公的妹妹穿的比我還像新娘。我一直安慰自己葵礼,他們只是感情好号阿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸳粉,像睡著了一般扔涧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天枯夜,我揣著相機(jī)與錄音弯汰,去河邊找鬼。 笑死湖雹,一個(gè)胖子當(dāng)著我的面吹牛咏闪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播摔吏,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鸽嫂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了舔腾?” 一聲冷哼從身側(cè)響起溪胶,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎稳诚,沒想到半個(gè)月后哗脖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扳还,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年才避,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氨距。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桑逝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俏让,到底是詐尸還是另有隱情楞遏,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布首昔,位于F島的核電站寡喝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏勒奇。R本人自食惡果不足惜预鬓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赊颠。 院中可真熱鬧格二,春花似錦、人聲如沸竣蹦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)痘括。三九已至驶兜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抄淑。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工屠凶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肆资。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓矗愧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親郑原。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唉韭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容