Git 工具總結(jié)

初操作---設(shè)置用戶名

1困肩、git config --global user.name "any name" ?//設(shè)置全局project的用戶名

2呐矾、git config --global?user.email?"any email" ?//設(shè)置全局project的郵箱

3、git config --global --list ? //查看當(dāng)前用戶的全局配置? ?用戶名和郵箱

4汉规、在VS Code中每次更新代碼都會要輸入賬號密碼塔淤,方便起見流礁,可以配置一下讓 git 記住密碼賬號。

5妹蔽、git config --global credential.helper store?

建立遠程倉庫鏈接

1椎眯、如果是從服務(wù)器 clone 下來的代碼,會自動配置一個叫 origin 的遠程倉庫鏈接

2胳岂、git remote -v? // 查看配置的遠程倉庫鏈接

3编整、git remote add <遠程倉庫名> <遠程倉庫url> ? ?//添加遠程庫鏈接

4、git remote rm <遠程倉庫名> ? //移除遠程倉庫

5乳丰、git remote rename <oldname> <new name> //遠程倉庫重命名

提交代碼過程

1掌测、提交之前,需要 pull (拉炔啊)一下汞斧,然后處理沖突

2、git add -A? ?//添加所有文件什燕,也可以只提交更改的文件 git add .

3粘勒、git add .? ?//添加更改的文件

4、git commit -m "描述代碼信息"

5秋冰、git push -u <遠程庫的名稱> <遠程庫的分支> ?// -u 表示指定<當(dāng)前遠程庫> 為默認(rèn)遠程倉庫仲义,以后就直接push,不用帶參數(shù)

6剑勾、如果你確定遠程倉庫的分支上那些代碼都不需要了埃撵,那么直接?push 后面加一個 -f ,強行讓本地分支覆蓋遠程分支

7虽另、git push <遠程倉庫名> <遠程庫的分支> -f?

提交代碼出現(xiàn)沖突

1暂刘、git push 會出問題,應(yīng)該先pull 一下捂刺,但是 pull 的時候又可能會出現(xiàn)分支沖突谣拣,

2、這時可能由于版本問題會報錯族展,可能遇到?refusing to merge unrelated histories?這個提示是因為兩個倉庫不同森缠,發(fā)現(xiàn) refusing to merge unrelated histories,無法 pull仪缸。

3贵涵、要把兩個不同的項目合并,git 需要添加一句代碼 ,這句代碼是在 git 2.9.2 版本發(fā)生的宾茂,最新的版本需要添加 –allow-unrelated-histories瓷马。查看git 版本,git --version

4跨晴、假如我們的遠程倉庫是 origin欧聘,分支是 master,那么我們 需要這樣寫 ?git pull origin master?--allow-unrelated-histories

5端盆、然后再? git push -u <遠程庫的名稱> <遠程庫的分支>

拉取代碼出現(xiàn)沖突

1怀骤、git pull 時本地文件和遠程服務(wù)器文件沖突,出錯信息如下:

2爱谁、error: Your local changes to 'contextTempl.java' would be overwritten by merge. ?Aborting.

3晒喷、Please, commit your changes or stash them before you can merge.

4、解釋:這個意思是說更新下來的內(nèi)容和本地修改的內(nèi)容有沖突访敌,先提交你的改變或者先將本地修改暫時存儲起來凉敲。

5、在 VS Code 中寺旺,錯誤提示是:在簽出前 請清理存儲庫工作樹

6爷抓、在這種情況下,您可以將更改隱藏起來阻塑,然后執(zhí)行g(shù)it pull蓝撇,然后解壓縮;

7陈莽、git stash ?//先將本地修改存儲起來

8渤昌、git pull ?//拉取遠程

9、git stash pop //還原暫存內(nèi)容

代碼克隆所有分支

git clone 只能 clone 遠程庫的 master 分支走搁,無法 clone 所有分支独柑,解決方法去下:

1、git clone http://xxx.xxx.com/project/.git ,這樣在git_work目錄下得到一個project子目錄

2私植、cd project

3忌栅、git branch -a,列出所有分支名稱如下:remotes/origin/dev? ? ?remotes/origin/release

4曲稼、git checkout -b?origin/dev dev索绪,作用是 checkout 遠程的 dev 分支,在本地起名為 dev 分支贫悄,并切換到本地的 dev 分支

5瑞驱、git checkout -b?origin/release release,作用參見上一步解釋

6窄坦、git checkout dev钱烟,切換回 dev 分支晰筛,并開始開發(fā)。

查看分支:git branch

創(chuàng)建分支:git branch

切換分支:git checkout

創(chuàng)建+切換分支:git checkout -b

合并某分支到當(dāng)前分支:git merge

刪除分支:git branch -d

指令簡寫

-d? ? --delete:刪除

-D? ?--delete --force的快捷鍵

-f? ? ?--force:強制

-m? ?--move:移動或重命名

-M? ?--move --force的快捷鍵

-r? ? ?--remote:遠程

-a? ? ?--all:所有

git fetch 和 git pull 的區(qū)別

1拴袭、git fetch <遠程主機名> <分支名>

2、最常見的命令如取回 origin 主機的 master 分支:

3曙博、git fetch origin master? 拥刻,從遠程主機的master分支拉取最新內(nèi)容

4、git?merge FETCH_HEAD 父泳,將拉取下來的最新內(nèi)容合并到當(dāng)前所在的分支中

5般哼、git pull?<遠程主機名>?<遠程分支名>:<本地分支名>

6、git pull origin master? 惠窄, 如果遠程分支是與當(dāng)前分支合并蒸眠,則冒號后面的部分可以省略

git 撤銷操作、恢復(fù)文件

1杆融、如果誤刪了某文件楞卡,需要 git status 先看下工作區(qū)是否 commit 過,如果沒有 commit 脾歇,可以看到刪除的文件名及路徑蒋腮,是紅色的

2、直接從工作區(qū)拿刪除的文件 git checkout -- <path + file>

3藕各、如果已經(jīng)commit 了池摧,那么git status 看到的刪除的文件及路徑是綠色的,這時checkout 已經(jīng)沒用了

4激况、可以把暫存區(qū)的修改撤銷掉(unstage)作彤,git reset HEAD <path + file>,重新放回工作區(qū)乌逐,然后 git checkout -- <path + file> 取回

git 版本回退

遠程分支回退有三種方法:

1竭讳、自己的分支回滾直接用 reset

2、公共分支回滾用 revert

3黔帕、錯的太遠了直接將代碼全部刪掉代咸,用正確代碼替代

本地分支版本回退:

1、先找到要回退的版本的 commit id 成黄,git reflog?

2呐芥、可以根據(jù)commit id ,查看先前版本的信息奋岁,git log <commit id> ?或者 git show <commit id>思瘟,退出git log 狀態(tài),英文狀態(tài)下按q?

3闻伶、回退版本 git?reset?--hard

自己的遠程分支版本退回:

  如果你的錯誤提交已經(jīng)推送到自己的遠程分支了滨攻,那么就需要回滾遠程分支了。

1、git reflog

2光绕、git reset --hard <commit id>

3女嘲、然后強制推送到遠程分支,git push -f

本地分支回滾后诞帐,版本將落后遠程分支欣尼,必須使用強制推送覆蓋遠程分支,否則無法推送到遠程分支

公共遠程分支回退:

  回滾公共遠程分支和回滾自己的遠程分支是有區(qū)別的停蕉,如果你回退公共遠程分支愕鼓,把別人的提交給丟掉了怎么辦?

原文地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慧起,一起剝皮案震驚了整個濱河市菇晃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚓挤,老刑警劉巖磺送,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異屈尼,居然都是意外死亡册着,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門脾歧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甲捏,“玉大人,你說我怎么就攤上這事鞭执∷径伲” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵兄纺,是天一觀的道長大溜。 經(jīng)常有香客問我,道長估脆,這世上最難降的妖魔是什么钦奋? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮疙赠,結(jié)果婚禮上付材,老公的妹妹穿的比我還像新娘。我一直安慰自己圃阳,他們只是感情好厌衔,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捍岳,像睡著了一般富寿。 火紅的嫁衣襯著肌膚如雪睬隶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天页徐,我揣著相機與錄音苏潜,去河邊找鬼。 笑死变勇,一個胖子當(dāng)著我的面吹牛窖贤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贰锁,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滤蝠!你這毒婦竟也來了豌熄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤物咳,失蹤者是張志新(化名)和其女友劉穎锣险,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體览闰,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡芯肤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了压鉴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖咨。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖油吭,靈堂內(nèi)的尸體忽然破棺而出击蹲,到底是詐尸還是另有隱情,我是刑警寧澤婉宰,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布歌豺,位于F島的核電站,受9級特大地震影響心包,放射性物質(zhì)發(fā)生泄漏类咧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一蟹腾、第九天 我趴在偏房一處隱蔽的房頂上張望痕惋。 院中可真熱鬧,春花似錦岭佳、人聲如沸血巍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽述寡。三九已至柿隙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鲫凶,已是汗流浹背禀崖。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留螟炫,地道東北人波附。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像昼钻,于是被迫代替她去往敵國和親掸屡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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