Git 操作過程

一宰啦、初始化項(xiàng)目,并上傳到git服務(wù)器

基本過程:創(chuàng)建遠(yuǎn)程倉庫奸例、初始化本地git倉庫彬犯、將本地倉庫于遠(yuǎn)程倉庫關(guān)聯(lián)起來、添加本地倉庫想要提交的代碼到本地git緩沖區(qū)查吊,將本地倉庫的本地分支于遠(yuǎn)程倉庫的遠(yuǎn)程分支關(guān)聯(lián)起來谐区、提交代碼。逻卖。

1. 在git服務(wù)器上創(chuàng)建同名git項(xiàng)目宋列,并獲取http地址

2. 本地git初始化項(xiàng)目git倉庫,在項(xiàng)目目錄下

$ git init

3. 將本地git倉庫和遠(yuǎn)程倉庫關(guān)聯(lián)起來评也,并設(shè)置遠(yuǎn)程倉庫名稱

git remote add <name> <http地址>

例如:git remote add origin?https://github.com/CraZYJH/demo.git

4. 添加項(xiàng)目文件到本地git緩沖區(qū)

第一種方法:git add -A? 炼杖、git commit -m '初始化項(xiàng)目'

第二種方法:git commit -a -m '初始化項(xiàng)目'

5. 將本地分支關(guān)聯(lián)遠(yuǎn)程分支并提交,git 默認(rèn)在遠(yuǎn)程分支上創(chuàng)建與本地分支同名的分支

git push --set-upstream origin master

這就是將本地的master分支與origin 遠(yuǎn)程倉庫關(guān)聯(lián)起來并在遠(yuǎn)程倉庫創(chuàng)建同名master分支盗迟,以后本地master 都提交到遠(yuǎn)程倉庫中的origin/master分支上坤邪。upstream :上游的意思。

二罚缕、提交某一分支的修改

1. 查看當(dāng)前分支的修改

git status

2. 查看想要查看的文件的修改

git diff <file_name>

3. 確認(rèn)正確后艇纺,提交修改到暫存區(qū)

git add -A? ?或者 git add <file_file1> <file_name2> ...

4. 提交到本地倉庫

git commit -m '修改信息'

5. 提交到遠(yuǎn)程倉庫

git push

三、拉取遠(yuǎn)程分支修改到本地分支

當(dāng)遠(yuǎn)程分支別人推了一版新的代碼時(shí)怕磨,我們想要將代碼拉下來喂饥,可以采用兩種方式pull和fetch+merge。

pull和fetch+merge 不同點(diǎn):

1. 使用pull

將遠(yuǎn)程分支最新代碼更新合并到本地倉庫區(qū)和工作區(qū)

git pull

2. 使用fetch?

- 將遠(yuǎn)程所有分支最新的commit更新到FETCHHEAD肠鲫,記錄遠(yuǎn)程分支最新的commit_id 和本地倉庫區(qū)

- 將最新代碼合并到工作區(qū)

git fetch

git merge

四员帮、取消track某一文件:track 跟蹤

git rm-r--cache <file_name>

untrack后,使用commit -a時(shí)导饲,不會(huì)將其添加到暫存區(qū)中

之后會(huì)在.ignore 文件中將該untrack的文件添加進(jìn)去捞高,完成。

五渣锦、保存賬號(hào)密碼硝岗,避免每次push都要輸入

1. 確保在git中輸入過賬號(hào)和密碼

2. 輸入下面語句即可

git config --global credential.helper store

六、暫存自己的修改袋毙,便于接著工作(特別有用)

試想一個(gè)場(chǎng)景:如果你正在一個(gè)分支上工作修改型檀,leader讓你改另外的分支的BUG或者對(duì)其他分支做一些操作。

我們知道如果一個(gè)分支上還沒有commit的修改的話听盖,不可以切換分支胀溺,但是又因?yàn)樽约旱墓ぷ魑赐瓿闪哑撸幌隿ommit,此時(shí)git stash就起作用了仓坞。

1. 將當(dāng)前分支的修改暫存起來(此處不等于add+commit)

git stash

備份當(dāng)前的工作區(qū)的內(nèi)容背零,從最新你的一次提交中讀取相關(guān)內(nèi)容,讓工作區(qū)保證和上次提交的內(nèi)容一致无埃。同時(shí)徙瓶,將當(dāng)前的工作區(qū)修改的內(nèi)容保存到Git棧中暫存起來。

2. 切換到別的分支工作嫉称,完成后切換回原來的工作分支侦镇,查看暫存列表

git stash list

顯示Git棧內(nèi)的所有備份,可以利用這個(gè)列表來決定從哪個(gè)地方恢復(fù)

3. 恢復(fù)暫存的修改到工作區(qū)

git stash apply <stash_name>? ? ? 恢復(fù)暫存之后不刪除暫存

git stash pop? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 恢復(fù)暫存之后刪除暫存

4. 刪除‘暫存’

git stash drop <stash_name>? ? ? ? 從Git棧中刪除最舊的一個(gè)暫存

七澎埠、將文件修改回退到某一狀態(tài)

一些已經(jīng)提交的或者已經(jīng)修改的部分虽缕,想要再修改一下,或者刪除已經(jīng)提交的

1. 刪除某些commit蒲稳,將head重定位到某一commit(回溯到以前的版本)

git reflog? ? ? ? ?查看所有 commit_id

git reset --head <commit_id> 會(huì)將commit_id 前的所有commit修改刪除

git reset <commit_id>? ? ? ? ? ? ? 不會(huì)將commit_id前的commit刪除氮趋,而是會(huì)將修改回退到本地工作區(qū)

git push origin HEAD --force? 此步驟將服務(wù)器方也設(shè)置為相應(yīng)的commit

2. 將文件修改恢復(fù)到當(dāng)前已提交分支的原樣(未git add情況下)撤銷修改就回到和版本庫一模一樣的狀態(tài),即用版本庫里的版本替換工作區(qū)的版本江耀。

git checkout -- <file_name>

3.將文件修改恢復(fù)到當(dāng)前已提交分支的原樣(已經(jīng)git add 情況下)

git reset HEAD? ?將add退回

git checkout -- <file_name>

4. 將文件修改恢復(fù)到已提交分支的原樣(已經(jīng)git commit 情況下)

git reset <commit_id>? 此處的commit_id 可以是任意分支的commit_id

git checkout -- <file_name>

八剩胁、版本的回溯與前進(jìn)

有時(shí)候徐婭回溯或前進(jìn)到以前的版本? ?或? ? 回溯前進(jìn)到以前的commit.

只要記住 commit_id? ?就可以在版本之間來回的穿梭,與七.1一樣祥国。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載导狡,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者荒典。
  • 序言:七十年代末嚷节,一起剝皮案震驚了整個(gè)濱河市剖效,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壁查,老刑警劉巖觉至,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異睡腿,居然都是意外死亡语御,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門席怪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來应闯,“玉大人,你說我怎么就攤上這事挂捻〉锓模” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長骨田。 經(jīng)常有香客問我唬涧,道長,這世上最難降的妖魔是什么盛撑? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮捧搞,結(jié)果婚禮上抵卫,老公的妹妹穿的比我還像新娘。我一直安慰自己胎撇,他們只是感情好介粘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晚树,像睡著了一般姻采。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爵憎,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天慨亲,我揣著相機(jī)與錄音,去河邊找鬼宝鼓。 笑死刑棵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的愚铡。 我是一名探鬼主播蛉签,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼沥寥!你這毒婦竟也來了碍舍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤邑雅,失蹤者是張志新(化名)和其女友劉穎片橡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒂阱,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锻全,尸身上長有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
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伶氢。 院中可真熱鬧趟径,春花似錦、人聲如沸癣防。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蕾盯。三九已至幕屹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間级遭,已是汗流浹背望拖。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挫鸽,地道東北人靠娱。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像掠兄,于是被迫代替她去往敵國和親像云。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356