紅塵來(lái)去兩袖空,天地乾坤在我胸 --git命令總結(jié)

在github上創(chuàng)建第一個(gè)工程切省,添加一個(gè)README.md

git-test.png

在本地新建一個(gè)文件夾最岗,同步遠(yuǎn)程代碼

git init    #在目錄中初始化本地git倉(cāng)庫(kù)
git remote add origin url #本地和遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)
git pull origin master       #將遠(yuǎn)程倉(cāng)庫(kù)的代碼pull到本地

在本地添加文件dairy.txt,并提交

git status  #查看目前git的狀態(tài)
git add dairy.txt   #git add . 添加全部朝捆,其實(shí)是將工作區(qū)的內(nèi)容提交到暫存區(qū)
git commit -m "add dairy.txt " 
git push origin master
git push.png

查看github般渡,在本地新建的文件已經(jīng)同步

回到歷史 && 來(lái)到未來(lái)

git log   #查看日志
history.png
git reset --hard ba4241e83647dbe85f9705b42b06cf918e878fa4
歷史版本.png

可見(jiàn)此版本沒(méi)有myself.txt的文件,用vi編輯器查看歷史內(nèi)容

git reflog #查看未來(lái)的版本
future.png

分支開(kāi)發(fā) && 分支合并

git branch test #新建分支test
git branch       #羅列出所有的分支
git checkout test #//切換到test分支
git checkout -b dev #創(chuàng)建并切換到dev分支
add branch.png

將本地新建的分支同步到遠(yuǎn)程

TIPS:在實(shí)際開(kāi)發(fā)的很多IDE芙盘,可以自動(dòng)創(chuàng)建遠(yuǎn)程分支驯用,這一步往往可以省略。

git push origin test
git push origin dev
origin test.png

然后將本地dev分支上上傳的圖片push到github上

merge

在gitlab上面操作儒老,進(jìn)入項(xiàng)目下蝴乔,點(diǎn)擊merge request選項(xiàng),然后選擇你之前推到遠(yuǎn)端的dev branch和你要合并到哪個(gè)分支驮樊,比如你要合并到master上,點(diǎn)擊merge request

解決沖突

沖突原因:

  • 多個(gè)成員修改不同文件
  • 多成員修改相同文件不同區(qū)域
  • 同時(shí)修改文件名和文件內(nèi)容

在一些情況下薇正,git可以智能合并,有些時(shí)候需要手動(dòng)合并
上訴三種情況都可以用一種方式解決巩剖,就是在push之前先pull

手動(dòng)合并

git status  #查看版本庫(kù)狀態(tài)
git mergetool  #使用工具

出現(xiàn)kdiff3圖形界面铝穷,其中A區(qū)為修改前,B區(qū)為本地(local)版本庫(kù)修改佳魔,C區(qū)為遠(yuǎn)程版本庫(kù)(remote)信息曙聂,在最下方點(diǎn)擊右鍵選擇需要使用的版本庫(kù),修改后保存退出即可鞠鲜。之后:

git commit -m ""
git push origin master

這里就完成了conflict的手動(dòng)合并
查看提交日志:

git log --graph --online

建立里程碑

所謂里程碑宁脊,就是版本號(hào),每一個(gè)版本代表開(kāi)發(fā)人員一段時(shí)間的工作贤姆。
在master merge分支代碼之后的工程下,選擇relsease


release.png

選擇 public release之后榆苞,可以看到如下界面:


public release.png

可以直接下載打好的包,很多開(kāi)源項(xiàng)目就是可以這樣直接下載去項(xiàng)目中使用霞捡。

Fork Other's Repository

很多時(shí)候坐漏,我們需要拿到別人的倉(cāng)庫(kù),進(jìn)行后續(xù)或者協(xié)作開(kāi)發(fā)
在對(duì)應(yīng)的項(xiàng)目工程下碧信,在github的左上角選擇 fork赊琳,工程就會(huì)出現(xiàn)在我的github的主頁(yè)上:


fork.png

然后我們需要再本地新建一個(gè)文件夾,將項(xiàng)目拉倒本地

git remote -v  #查看遠(yuǎn)程倉(cāng)庫(kù)的版本
git remote add upstream url
upstream.png
git pull upstream master
git push origin master

本人修改的代碼可以通過(guò)pull request 請(qǐng)求合并砰碴,提交貢獻(xiàn)

寫(xiě)在后面的話

1.origin
代碼庫(kù)(repository)可以存放在你的電腦里躏筏,同時(shí)你也可以把代碼庫(kù)托管到Github的服務(wù)器上。在默認(rèn)情況下呈枉,origin指向的就是你本地的代碼庫(kù)托管在Github上的版本趁尼。
2.FETCH_HEAD
是一個(gè)版本鏈接埃碱,記錄在本地的一個(gè)文件中,指向著目前已經(jīng)從遠(yuǎn)程倉(cāng)庫(kù)取下來(lái)的分支的末端版本酥泞。
3.git fetch 有四種基本用法

  • git fetch:這將更新git remote 中所有的遠(yuǎn)程repo 所包含分支的最新commit-id, 將其記錄到.git/FETCH_HEAD文件中
  • git fetch remote_repo :這將更新名稱(chēng)為remote_repo 的遠(yuǎn)程repo上的所有branch的最新commit-id砚殿,將其記錄。
  • git fetch remote_repo remote_branch_name :這將這將更新名稱(chēng)為remote_repo 的遠(yuǎn)程repo上的分支: remote_branch_name
  • git fetch remote_repo remote_branch_name:local_branch_name :這將這將更新名稱(chēng)為remote_repo 的遠(yuǎn)程repo上的分支: remote_branch_name 婶博,并在本地創(chuàng)建local_branch_name 本地分支保存遠(yuǎn)端分支的所有數(shù)據(jù)瓮具。
    4.暫存區(qū)的概念很重要,了解了這個(gè)概念凡人,git的很多命令你就知道在干什么了名党。


    stage1.png

    stage2.png

    stage3.png

5.在每次提交代碼前,養(yǎng)成使用 git diff 的好習(xí)慣
6.每天下班前挠轴,清空你的工作區(qū)传睹,給明天一個(gè)愉快的開(kāi)始!
7.如果你的項(xiàng)目組有很多同學(xué)岸晦,或者是你為很大的開(kāi)源項(xiàng)目做貢獻(xiàn)欧啤,建議你將每次提交的代碼描述詳細(xì),盡量精確到第幾行启上,實(shí)現(xiàn)什么功能邢隧。

FAQ

  • Access denied
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'http://git.xx/xxx/xxx.git/'

需要重新設(shè)置用戶(hù)名和郵箱:

$ git config --global user.name "xxx"
$ git config --global user.email "xxx@xxx"
  • git pull 失敗 ,提示:fatal: refusing to merge unrelated histories
    在git pull 時(shí),增加一個(gè)可選項(xiàng)
git pull origin master --allow-unrelated-histories
  • 本地同步遠(yuǎn)端的git分支
    在本地新建并切換到dev分支冈在,和遠(yuǎn)程的dev分支進(jìn)行關(guān)聯(lián)
git branch -b dev /origin/dev

上訴操作等同于:

git branch --all   #查看所有分支倒慧,發(fā)現(xiàn)只有master
git checkout dev #在本地創(chuàng)建dev分支
git branch dev #本地切換到dev
git push origin dev:dev  #本地dev和遠(yuǎn)端dev進(jìn)行關(guān)聯(lián)

查看本地分支和遠(yuǎn)程分支的對(duì)應(yīng)關(guān)系:

git branch -vv

程序媛小白一枚,如有錯(cuò)誤包券,煩請(qǐng)批評(píng)指正纫谅!(#.#)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市溅固,隨后出現(xiàn)的幾起案子付秕,更是在濱河造成了極大的恐慌,老刑警劉巖侍郭,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件询吴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡亮元,警方通過(guò)查閱死者的電腦和手機(jī)汰寓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)苹粟,“玉大人,你說(shuō)我怎么就攤上這事跃闹∏断鳎” “怎么了毛好?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)苛秕。 經(jīng)常有香客問(wèn)我肌访,道長(zhǎng),這世上最難降的妖魔是什么艇劫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任吼驶,我火速辦了婚禮,結(jié)果婚禮上店煞,老公的妹妹穿的比我還像新娘蟹演。我一直安慰自己,他們只是感情好顷蟀,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布酒请。 她就那樣靜靜地躺著,像睡著了一般鸣个。 火紅的嫁衣襯著肌膚如雪羞反。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天囤萤,我揣著相機(jī)與錄音昼窗,去河邊找鬼。 笑死涛舍,一個(gè)胖子當(dāng)著我的面吹牛澄惊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播做盅,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼缤削,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了吹榴?” 一聲冷哼從身側(cè)響起亭敢,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎图筹,沒(méi)想到半個(gè)月后帅刀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡远剩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年扣溺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓜晤。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锥余,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痢掠,到底是詐尸還是另有隱情驱犹,我是刑警寧澤嘲恍,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站雄驹,受9級(jí)特大地震影響佃牛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜医舆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一挑随、第九天 我趴在偏房一處隱蔽的房頂上張望来农。 院中可真熱鬧,春花似錦、人聲如沸魁淳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)呀狼。三九已至,卻和暖如春里烦,著一層夾襖步出監(jiān)牢的瞬間凿蒜,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工胁黑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留废封,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓丧蘸,卻偏偏與公主長(zhǎng)得像漂洋,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子力喷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359