Git常用命令

[toc]
Git


常用命令:

列表顯示所有配置

 git config --list

設(shè)置用戶名

git config --global user.name "username"

設(shè)置郵箱

git config --global user.email "myeamil@xxx.com"

創(chuàng)建本地倉庫:

方法1:在本地創(chuàng)建本地倉庫
   新建本地倉庫(創(chuàng)建工作區(qū)):git init    
方法2:把遠(yuǎn)程倉庫clone到本地衙吩,會(huì)自動(dòng)在本地創(chuàng)建本地倉庫
    git clone url

關(guān)聯(lián)遠(yuǎn)程倉庫

//origin代表遠(yuǎn)程倉庫在本地的標(biāo)識(shí)
git remote add origin https:/xxx.xxx.git

將本地倉庫代碼推送到遠(yuǎn)程

    //推送到指定遠(yuǎn)程url的master分支上
push push origin master

查看分支

git branch

將遠(yuǎn)端的代碼以及相關(guān)分支信息clone到本地

將遠(yuǎn)端的代碼以及相關(guān)分支信息clone到本地

查看當(dāng)前工作區(qū)中文件狀態(tài)

git status

修改全局配置

git config --global user.name "yourName"
git config --global user.email "yourEmail"

在github創(chuàng)建遠(yuǎn)程倉庫
....


git 分區(qū)

工作區(qū)

即.git所在的文件夾钻注。
創(chuàng)建方式:

    git init 

暫存區(qū)/索引區(qū)/緩存

通過 git add命令即可將代碼從工作區(qū)放到暫存區(qū)

//將當(dāng)前目錄所有文件添加到暫存區(qū)(自動(dòng)忽略.gitignore配置的文件)
git add *

版本區(qū)

從暫存區(qū)提交到版本區(qū)

git commit -m "msgs ..."
//-m 要添加的代碼注釋說明

忽略文件

在倉庫文件根目錄下創(chuàng)建.gitignore文件律想,在其中配置要忽略的文件在岂。

==注意==在window上創(chuàng)建該文件可能出錯(cuò),因?yàn)閣indows對(duì)文件名開頭帶點(diǎn)的命名限制問題赢笨,此時(shí)可以在命令行或IDE中創(chuàng)建:

//git命令創(chuàng)建gitignore文件
 touch .gitignore

gitignore內(nèi)容如下:

//.gitignore
   .idea //匹配任何目錄下的.idea文件
   /.idea //匹配根目錄下的.idea文件
   /node_modules //匹配根目錄下的node_modules文件夾

分支

查看分支

git branch

根據(jù)當(dāng)前分支代碼創(chuàng)建新分支

//新分支名字dev 
git branch dev

切換分支

//切換到dev分支(即把本地倉庫區(qū)中的dev分支代碼檢出到工作區(qū))
git checkout dev

拉取與拉檢出并切換分支:

//拉取遠(yuǎn)程dev分支到本地(直接更新工作區(qū)內(nèi)容)
get pull origin dev 

//將本地倉庫中的origin指向的dev分支檢出并切換到新創(chuàng)建的dev-crb分支上(前提dev-crb分支不存在)
git checkout -b dev-crb  origin/dev

比較兩個(gè)分支 git diff

語法:git diff 分支1最新版本(或當(dāng)前分支版本號(hào)) 分支2最新版本(或當(dāng)前分支版本號(hào))
如 master跟dev比較
git diff dev master
輸出信息中
+表示分支2相比較分支1增加的部分
-表示分支2比分支1缺少的部分

比較差異未蝌,輸出統(tǒng)計(jì)信息

git diff dev master --stat

合并分支

git merge xxx
將xxx分支合并到當(dāng)前分支上

沖突解決

fetch

pull拉取時(shí)會(huì)自動(dòng)合并
fetch拉取遠(yuǎn)程到本地指定分支,后續(xù)需要手動(dòng)合并
git fetch origin dev dev:tmp
git merge tmp

時(shí)光穿梭

git log

顯示當(dāng)前版本前的所有提交日志

git reflog

顯示所有操作日志驮吱,包含merge、checkout树埠、commit等操作的日志糠馆。

回到指定版本

git reset --hard 提交編號(hào)

回到最新的提交點(diǎn),需要先用命令 git reflog查看最新提交節(jié)點(diǎn)的提交id怎憋,然后再執(zhí)行以下命令:

git reset --hard 最新的提交版本id

回到上一個(gè)版本

git reset --hard HEAD^

里程碑 (TAG--標(biāo)簽)

記錄(標(biāo)記)某一個(gè)或某幾個(gè)重要的版本又碌,會(huì)對(duì)這個(gè)版本做一個(gè)Tag來標(biāo)識(shí),如 v1.0.0绊袋、v1.0.1,
常用操作:

//給當(dāng)前版本打TAG
git tag v0.3 

//給先前某個(gè)提交id打上TAG
git tag v0.2 提交id

//查看所有TAG(里程碑)
git tag

//推送指定TAG(v0.3)到遠(yuǎn)程
git push origin v0.3    

//檢出指定tag的代碼
git checkout <tagname>

由于我們打tag時(shí)是對(duì)應(yīng)一個(gè)分支的某次提交id的毕匀,所以tag跟commint id是綁定的,一般的癌别,我們只會(huì)在master分支上的某些提交節(jié)點(diǎn)打入tag皂岔,標(biāo)記某些功能添加或bug修復(fù)后的重要節(jié)點(diǎn), 其他分支可以直接根據(jù)tag名來檢出指定的節(jié)點(diǎn)代碼展姐。


==常見問題==:

如果在拉取dev分支時(shí)提示錯(cuò)誤躁垛,很有可能是本地有代碼修改,但沒有提交到本地倉庫圾笨,此時(shí)可以先提交本地倉庫再拉取教馆。

如果在推送dev分支到遠(yuǎn)程dev時(shí)失敗,則可能出現(xiàn)了沖突擂达,修改有沖突的代碼土铺,修改完畢后按正常程序推送到遠(yuǎn)程即可。推送完畢后板鬓,需要在遠(yuǎn)程或本地的master分支中合并dev分支推送的代碼悲敷。

git生成公私鑰命令:

//打開git bash,在控制臺(tái)中輸入以下命令
ssh-keygen -t rsa -C "youremail@example.com"
//默認(rèn)會(huì)在C:\Users\YourName\.ssh文件夾中生成公私鑰
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末俭令,一起剝皮案震驚了整個(gè)濱河市后德,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抄腔,老刑警劉巖探遵,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妓柜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涯穷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門棍掐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拷况,你說我怎么就攤上這事作煌【蚺梗” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵粟誓,是天一觀的道長奏寨。 經(jīng)常有香客問我,道長鹰服,這世上最難降的妖魔是什么病瞳? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮悲酷,結(jié)果婚禮上套菜,老公的妹妹穿的比我還像新娘。我一直安慰自己设易,他們只是感情好逗柴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顿肺,像睡著了一般戏溺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屠尊,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天旷祸,我揣著相機(jī)與錄音,去河邊找鬼知染。 笑死肋僧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的控淡。 我是一名探鬼主播嫌吠,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼掺炭!你這毒婦竟也來了辫诅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤涧狮,失蹤者是張志新(化名)和其女友劉穎炕矮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體者冤,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肤视,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涉枫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邢滑。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖愿汰,靈堂內(nèi)的尸體忽然破棺而出困后,到底是詐尸還是另有隱情乐纸,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布摇予,位于F島的核電站汽绢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏侧戴。R本人自食惡果不足惜宁昭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望救鲤。 院中可真熱鬧久窟,春花似錦、人聲如沸本缠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丹锹。三九已至稀颁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間楣黍,已是汗流浹背匾灶。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留租漂,地道東北人阶女。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像哩治,于是被迫代替她去往敵國和親秃踩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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

  • git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git commit 提交 git b...
    猿萬閱讀 5,056評(píng)論 1 45
  • 配置 首先是配置帳號(hào)信息 ssh -T git@github.com#登陸github 修改項(xiàng)目中的個(gè)人信息 1 ...
    rochuan閱讀 724評(píng)論 1 1
  • 分布式版本管理工具 git屬于分布式 svn集中式 git安裝 git初始化一個(gè)倉庫 其實(shí)就是創(chuàng)建了一個(gè).git隱...
    SnowDragonYY閱讀 1,506評(píng)論 0 0
  • 生活中的其他事情也是有主有次的业筏,不是什么事情都一把抓憔杨。把目標(biāo)明確后,再往后的事情就要圍著目標(biāo)有刪有減了蒜胖。 在生活中...
    綻放美麗閱讀 280評(píng)論 0 5
  • 這次在俱樂部的10天學(xué)習(xí)中消别,自己從學(xué)員、講師兩個(gè)不同的角度去學(xué)習(xí)知識(shí)并汲取經(jīng)驗(yàn)台谢。當(dāng)真靜下來回顧這10天并總結(jié)時(shí)寻狂,才...
    文魁大腦閱讀 1,153評(píng)論 1 7