Git應(yīng)用進(jìn)階(二)-創(chuàng)新互聯(lián)

Git進(jìn)階(二)

創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計公司的優(yōu)秀設(shè)計人員和策劃人員組成的一個具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計師、平面廣告設(shè)計師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)頁設(shè)計制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務(wù)。

===============================================================================

概述:

===============================================================================

Git 分支

1.分支命名法則及常用命令

master(主干分支) 是指向指定分支的最近一次提交;

dev 是指向dev分支的最近一次提交;

不管有多少分支,活動分支只能有一個;

head 一定是指向某個分支的,head表示? 映射了當(dāng)前工作目錄當(dāng)中所反映的最近一次提交;即 head始終指向活動分支的最近一次提交;

分支命名法則

  • 可以使用"/",但不能使用"/"結(jié)尾;

  • 不能以 "-" 開頭;

  • 以位于 "/" 后面的組件,不能以 "." 開頭;

  • 不能使用連續(xù)的 "...";

  • 不能使用空白字符" ";

  • 不能使用"^","~","?","*","[" 等符號

必須唯一,分支的名字始終指向目標(biāo)分支的最近一次提交;

git branch :列出,創(chuàng)建及刪除分支

  • git branch BRANCH_NAME [START_COMMIT]

  • git branch? -d??BRANCH_NAME? 刪除分支

git show-branch:查看分支及其相關(guān)的提交

git? checkout?

  • git? checkout? <branch> 檢出分支

演示1:git 創(chuàng)建分支

[root@node1?test]#?ls first.sh??INSTALL??readmin??subdir [root@node1?test]#?git?branch?--list *?master???#?帶"*"表示當(dāng)前分支 [root@node1?test]#?git?log commit?3c0b6864718ec8f8aebb5b66fbfd65b757504169?(HEAD?->?master) Author:?watao?<wangzhangtao@pachiratech.com> Date:???Mon?Aug?19?23:06:00?2019?+0800 ????v0.0.2 commit?b0e9cc432d3adb683963686a2eec197129ef48b8 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Tue?Jul?16?23:26:38?2019?+0800 ????v0.0.1 [root@node1?test]#?git?status On?branch?master Changes?to?be?committed: ??(use?"git?reset?HEAD?<file>..."?to?unstage) new?file:???first.sh Untracked?files: ??(use?"git?add?<file>..."?to?include?in?what?will?be?committed) readmin [root@node1?test]#?git?commit?-m?'v1.0' [master?13051f2]?v1.0 ?1?file?changed,?4?insertions(+) ?create?mode?100644?first.sh [root@node1?test]#?git?status On?branch?master Untracked?files: ??(use?"git?add?<file>..."?to?include?in?what?will?be?committed) readmin nothing?added?to?commit?but?untracked?files?present?(use?"git?add"?to?track) [root@node1?test]#?git?ls-files?-s 100644?b6a56662e48ee60ef2d65fd2b00dd555e758b7fa?0 INSTALL 100644?1809e7ac283fd186a50d97b1462d2d27396f9b42?0 first.sh 100644?a4ec1ecd97368714ba8b5c8d002b1a24647bb7ec?0 subdir/1.txt [root@node1?test]#?git?add?readmin [root@node1?test]#?git?ls-files?-s 100644?b6a56662e48ee60ef2d65fd2b00dd555e758b7fa?0 INSTALL 100644?1809e7ac283fd186a50d97b1462d2d27396f9b42?0 first.sh 100644?8bf9463e75dfb20077fafb8358ee3cb471dd7900?0 readmin 100644?a4ec1ecd97368714ba8b5c8d002b1a24647bb7ec?0 subdir/1.txt [root@node1?test]#?git?commit?-m?'v1.1' [master?e522483]?v1.1 ?1?file?changed,?1?insertion(+) ?create?mode?100644?readmin [root@node1?test]#?git?log commit?e522483313931f3dbc914ff6e132f5cd205f7d62?(HEAD?->?master) Author:?watao?<wangzhangtao@pachiratech.com> Date:???Wed?Aug?21?22:48:52?2019?+0800 ????v1.1 commit?13051f2788b17981a72f641e6b30bc8bea0f2e38 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Wed?Aug?21?22:46:23?2019?+0800 ????v1.0 commit?3c0b6864718ec8f8aebb5b66fbfd65b757504169 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Mon?Aug?19?23:06:00?2019?+0800 ????v0.0.2 commit?b0e9cc432d3adb683963686a2eec197129ef48b8 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Tue?Jul?16?23:26:38?2019?+0800 ????v0.0.1 [root@node1?test]#?git?branch *?master #?指明1.0版本創(chuàng)建分支 [root@node1?test]#?git?branch?dev?13051f [root@node1?test]#?git?branch ??dev *?master [root@node1?test]#?git?branch?bug/first [root@node1?test]#?git?branch ??bug/first ??dev *?master

演示2:git show-branch? 查看分支

#??git?show-branch?查看具體的分支信息 [root@node1?test]#?git?show-branch !?[bug/first]?v1.1 ?!?[dev]?v1.0 ??*?[master]?v1.1 --- +?*?[bug/first]?v1.1 ++*?[dev]?v1.0 [root@node1?test]#?git?show-branch?dev [dev]?v1.0 [root@node1?test]#? [root@node1?test]#?git?show-branch?bug/first [bug/first]?v1.1

演示3:git checkout BRANCH_NAME? 切換分支

[root@node1?taotao]#?git?checkout?dev??#切換分支 Switched?to?branch?'dev' [root@node1?taotao]#? [root@node1?taotao]#?git?branch?--list? ??bug/first *?dev ??master [root@node1?taotao]#? [root@node1?taotao]#?git?show-branch !?[bug/first]?v1.1 ?*?[dev]?v1.0 ??!?[master]?v1.1 --- +?+?[bug/first]?v1.1 +*+?[dev]?v1.0 [root@node1?taotao]#? [root@node1?taotao]#? [root@node1?taotao]#?git?log commit?5d4298d6fdcbb6276e69f002e7148210124e52d9?(HEAD?->?dev) Author:?watao?<wangzhangtao@pachiratech.com> Date:???Wed?Oct?9?22:04:34?2019?+0800 ????v1.0 commit?b9182448b3e9503ce5fd09edb5b378f612209d01 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Wed?Oct?9?21:05:05?2019?+0800 ????v0.0.2 commit?1b5d8e0fea57e85045c8d98f12e379fdc73138bc Author:?watao?<wangzhangtao@pachiratech.com> Date:???Tue?Oct?8?21:24:06?2019?+0800 ????v0.0.1 ???? ############################# [root@node1?taotao]#?cat?first.sh #!/bin/bash echo?"hello?world" echo?"new?date" [root@node1?taotao]#? [root@node1?taotao]#?git?status On?branch?dev Changes?not?staged?for?commit: ??(use?"git?add?<file>..."?to?update?what?will?be?committed) ??(use?"git?checkout?--?<file>..."?to?discard?changes?in?working?directory) modified:???first.sh no?changes?added?to?commit?(use?"git?add"?and/or?"git?commit?-a") [root@node1?taotao]#?git?add?first.sh [root@node1?taotao]#?git?commit?-m?"v1.1-dev"?? [dev?587719d]?v1.1-dev ?1?file?changed,?1?insertion(+) ? [root@node1?taotao]#?git?log commit?587719dd3920429904c2b2a24637f20ecd20c4e0?(HEAD?->?dev) Author:?watao?<wangzhangtao@pachiratech.com> Date:???Fri?Oct?11?22:34:41?2019?+0800 ????v1.1-dev commit?5d4298d6fdcbb6276e69f002e7148210124e52d9 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Wed?Oct?9?22:04:34?2019?+0800 ????v1.0 commit?b9182448b3e9503ce5fd09edb5b378f612209d01 Author:?watao?<wangzhangtao@pachiratech.com> Date:???Wed?Oct?9?21:05:05?2019?+0800 ????v0.0.2 commit?1b5d8e0fea57e85045c8d98f12e379fdc73138bc Author:?watao?<wangzhangtao@pachiratech.com> Date:???Tue?Oct?8?21:24:06?2019?+0800 ????v0.0.1 ???? [root@node1?taotao]#?cat?first.sh #!/bin/bash echo?"hello?world" echo?"new?date" #?切回主分支,再次查看first.sh,發(fā)現(xiàn)還是原來的,因?yàn)閙aster分支并沒有提交新的操作 [root@node1?taotao]#?git?checkout?master Switched?to?branch?'master' [root@node1?taotao]#? [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" #?不被追蹤的文件在所有分支上都可以看見 [root@node1?taotao]#?git?checkout?dev Switched?to?branch?'dev' [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" [root@node1?taotao]#? [root@node1?taotao]#?vim?second.sh [root@node1?taotao]#?cat?second.sh? #!/bin/bash echo?"second.sh" [root@node1?taotao]#?ls first.sh??INSTALL??second.sh??subdir [root@node1?taotao]#? [root@node1?taotao]#?git?checkout?master Switched?to?branch?'master' [root@node1?taotao]#? [root@node1?taotao]#?ls first.sh??INSTALL??readmin??second.sh??subdir [root@node1?taotao]#?cat?second.sh? #!/bin/bash echo?"second.sh" #?添加到索引發(fā)現(xiàn)在所有分支上依然可以看見 [root@node1?taotao]#?git?add?second.sh [root@node1?taotao]#?git?status On?branch?master Changes?to?be?committed: ??(use?"git?reset?HEAD?<file>..."?to?unstage) new?file:???second.sh [root@node1?taotao]#?git?checkout?dev A second.sh Switched?to?branch?'dev' [root@node1?taotao]#?git?status On?branch?dev Changes?to?be?committed: ??(use?"git?reset?HEAD?<file>..."?to?unstage) new?file:???second.sh #在dev分支上提交 [root@node1?taotao]#?git?commit?-m?"v1.1.1-dev" [dev?21a0411]?v1.1.1-dev ?1?file?changed,?2?insertions(+) ?create?mode?100644?second.sh [root@node1?taotao]#?git?status On?branch?dev nothing?to?commit,?working?tree?clean #再次切回master分支,發(fā)現(xiàn)second.sh?已經(jīng)沒有了 [root@node1?taotao]#?git?checkout?master Switched?to?branch?'master' [root@node1?taotao]#?ls first.sh??INSTALL??readmin??subdir [root@node1?taotao]#?git?status On?branch?master nothing?to?commit,?working?tree?clean #在主分支創(chuàng)建一個second文件,然后切回dev分支報錯,因?yàn)楹蚫ev分支中已提交的second?發(fā)生沖突 [root@node1?taotao]#?echo?"#XIUXIU"?>?second.sh [root@node1?taotao]#?git?status On?branch?master Untracked?files: ??(use?"git?add?<file>..."?to?include?in?what?will?be?committed) second.sh nothing?added?to?commit?but?untracked?files?present?(use?"git?add"?to?track)[root@node1?taotao]#?git?checkout?dev error:?The?following?untracked?working?tree?files?would?be?overwritten?by?checkout: second.sh Please?move?or?remove?them?before?you?switch?branches. Aborting [root@node1?taotao]#?git?add?second.sh [root@node1?taotao]#?git?checkout?dev error:?Your?local?changes?to?the?following?files?would?be?overwritten?by?checkout: second.sh Please?commit?your?changes?or?stash?them?before?you?switch?branches. Aborting #刪除master主分支的second后,順利切換到dev分支 [root@node1?taotao]#?git?rm?-f?second.sh rm?'second.sh' [root@node1?taotao]#?git?checkout?dev Switched?to?branch?'dev' [root@node1?taotao]#?git?status On?branch?dev nothing?to?commit,?working?tree?clean [root@node1?taotao]#?git?show-branch !?[bug/first]?v1.1 ?*?[dev]?v1.1.1-dev ??!?[master]?v1.1 --- ?*??[dev]?v1.1.1-dev ?*??[dev^]?v1.1-dev +?+?[bug/first]?v1.1 +*+?[dev~2]?v1.0 [root@node1?taotao]#?git?show-branch?--more=10 !?[bug/first]?v1.1 ?*?[dev]?v1.1.1-dev ??!?[master]?v1.1 --- ?*??[dev]?v1.1.1-dev ?*??[dev^]?v1.1-dev +?+?[bug/first]?v1.1 +*+?[dev~2]?v1.0 +*+?[dev~3]?v0.0.2 +*+?[dev~4]?v0.0.1

演示4:git checkout -d BRANCH_NAME 刪除分支

[root@node1?taotao]#?git?branch?-d?bug/first? Deleted?branch?bug/first?(was?5685269). [root@node1?taotao]#?git?branch?--list ??dev *?master

Git 分支合并

1.分支合并--git merge

★相關(guān)概念

  • 合并基礎(chǔ):要合并的分支的最近一次的共同提交;

  • 我們的版本:當(dāng)前分支的最近一次提交;

  • 他們的版本:要合并進(jìn)來的分支的最近一次提交;

無沖突合并:

  1. git checkout master;? ?檢出到主分支

  2. git status???檢查是否有未提交的信息

  3. git merge BRANCH_NAME???從他們的版本合并到我們的版本

  4. git log --graph --pretty=oneline --abbrev-commit? ?以圖形的方式查看

有沖突合并:

  1. 手動解決沖突;

  2. 解決完成之后:git add ---> git commit

回退到合并之前的版本

  • git reset --hard ORIG_HEAD

演示1:無沖突的合并

[root@node1?taotao]#?git?branch?--list ??dev *?master [root@node1?taotao]#? [root@node1?taotao]#? [root@node1?taotao]#?git?merge?dev Merge?made?by?the?'recursive'?strategy. ?first.sh??|?1?+ ?second.sh?|?2?++ ?2?files?changed,?3?insertions(+) ?create?mode?100644?second.sh [root@node1?taotao]#? [root@node1?taotao]#?git?status On?branch?master nothing?to?commit,?working?tree?clean [root@node1?taotao]#?git?show-branch !?[dev]?v1.1.1-dev ?*?[master]?Merge?branch?'dev' -- ?-?[master]?Merge?branch?'dev' +*?[dev]?v1.1.1-dev [root@node1?taotao]#?git?log?--graph?--pretty=oneline?--abbrev-commit *???43d8e9a?(HEAD?->?master)?Merge?branch?'dev' |\?? |?*?21a0411?(dev)?v1.1.1-dev |?*?587719d?v1.1-dev *?|?5685269?v1.1 |/?? *?5d4298d?v1.0 *?b918244?v0.0.2 *?1b5d8e0?v0.0.1

演示2:有沖突的合并

[root@node1?taotao]#?echo?"taotaohuihui"?>?my.txt [root@node1?taotao]#?git?add?my.txt [root@node1?taotao]#?git?commit?-m?"v2.0" [master?1df3da7]?v2.0 ?1?file?changed,?1?insertion(+) ?create?mode?100644?my.txt ? ?[root@node1?taotao]#?git?log?--graph?--pretty=oneline?--abbrev-commit *?1df3da7?(HEAD?->?master)?v2.0???#?新創(chuàng)建的提交 *???43d8e9a?Merge?branch?'dev' |\?? |?*?21a0411?(dev)?v1.1.1-dev |?*?587719d?v1.1-dev *?|?5685269?v1.1 |/?? *?5d4298d?v1.0 *?b918244?v0.0.2 *?1b5d8e0?v0.0.1 [root@node1?taotao]#?git?branch?dev fatal:?A?branch?named?'dev'?already?exists.???#dev分支存在不能創(chuàng)建相同的,實(shí)際上可以刪除了,因?yàn)橐呀?jīng)合并到master分支上去了 [root@node1?taotao]#? [root@node1?taotao]#? [root@node1?taotao]#?git?branch?fotfix???#?在master?2.0?的基礎(chǔ)上常見fotfix分支 [root@node1?taotao]#?git?show-branch !?[dev]?v1.1.1-dev ?!?[fotfix]?v2.0 ??*?[master]?v2.0 --- ?+*?[fotfix]?v2.0 ?--?[fotfix^]?Merge?branch?'dev' ++*?[dev]?v1.1.1-dev [root@node1?taotao]#?echo?"third?line"?>>?first.sh???#?修改master分支的內(nèi)容 [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" third?line [root@node1?taotao]#?git?add?first.sh [root@node1?taotao]#?git?commit?-m?"v2.1" [master?697a6c5]?v2.1 ?1?file?changed,?1?insertion(+) [root@node1?taotao]#?git?show-branch !?[dev]?v1.1.1-dev ?!?[fotfix]?v2.0 ??*?[master]?v2.1 --- ??*?[master]?v2.1 ?+*?[fotfix]?v2.0 ?--?[fotfix^]?Merge?branch?'dev' ++*?[dev]?v1.1.1-dev [root@node1?taotao]#?git?checkout?fotfix??#切換到fotfix分支 Switched?to?branch?'fotfix' [root@node1?taotao]#?ls first.sh??INSTALL??my.txt??readmin??second.sh??subdir [root@node1?taotao]#? [root@node1?taotao]#?echo?"new?line"?>>?first.sh???#?編輯first文件并提交 [root@node1?taotao]#?cat?first.sh #!/bin/bash echo?"hello?world" echo?"new?date" new?line [root@node1?taotao]#?git?add?first.sh [root@node1?taotao]#?git?commit?-m?"v2.0-1" [fotfix?26b42ef]?v2.0-1 ?1?file?changed,?1?insertion(+) ? ?[root@node1?taotao]#?git?show-branch !?[dev]?v1.1.1-dev ?*?[fotfix]?v2.0-1 ??!?[master]?v2.1 --- ?*??[fotfix]?v2.0-1 ??+?[master]?v2.1 ?*+?[fotfix^]?v2.0 ?--?[fotfix~2]?Merge?branch?'dev' +*+?[dev]?v1.1.1-dev #?切回主分支,然后合并?fotfix分支,發(fā)現(xiàn)報錯,即內(nèi)容發(fā)生沖突。需手動修復(fù)沖突后再合并 [root@node1?taotao]#?git?checkout?master Switched?to?branch?'master' [root@node1?taotao]#? [root@node1?taotao]#? [root@node1?taotao]#?git?merge?fotfix? Auto-merging?first.sh CONFLICT?(content):?Merge?conflict?in?first.sh Automatic?merge?failed;?fix?conflicts?and?then?commit?the?result. 不能合并成功的文件,發(fā)現(xiàn)三個版本中?first.sh?內(nèi)容各不相同 [root@node1?taotao]#?git?ls-files INSTALL first.sh first.sh first.sh my.txt readmin second.sh subdir/1.txt [root@node1?taotao]#? [root@node1?taotao]#?git?ls-files?--unmerged 100644?816a1b1e686cf6adb716b10e1a9eed870b2f18fa?1first.sh???#?"1"?表示合并基礎(chǔ) 100644?3adec3b3bf2616c52eaba36bd8af2e79e9ef6495?2first.sh???#?"2"?表示我們的版本 100644?e45ccd5a231f9debdd84ffd621cdc3acfc8d15f1?3first.sh???#?"3"?表示他們的版本 [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" <<<<<<<?HEAD third?line ======= new?line >>>>>>>?fotfix [root@node1?taotao]#?git?diff diff?--cc?first.sh index?3adec3b,e45ccd5..0000000 ---?a/first.sh +++?b/first.sh @@@?-1,4?-1,4?+1,8?@@@ ??#!/bin/bash ??echo?"hello?world" ??echo?"new?date" ++<<<<<<<?HEAD?????"<<<<"或">>>>>"為三方合并標(biāo)記,由2個?++?開頭 ?+third?line??#為主分支最近一次提交的內(nèi)容 ++======= +?new?line ++>>>>>>>?fotfix??#為其他版本最近一次提交的內(nèi)容 #直接在沖突文件的基礎(chǔ)上修改即可,如想要都保留的話就把"三方合并標(biāo)記"給刪除 [root@node1?taotao]#?vim?first.sh? [root@node1?taotao]#?git?diff diff?--cc?first.sh index?3adec3b,e45ccd5..0000000 ---?a/first.sh +++?b/first.sh @@@?-1,4?-1,4?+1,5?@@@ ??#!/bin/bash ??echo?"hello?world" ??echo?"new?date" ?+third?line??#新加的兩行 +?new?line [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" third?line new?line #修改好之后重新添加到索引并提交 [root@node1?taotao]#?git?add?first.sh [root@node1?taotao]#?git?commit??#出現(xiàn)內(nèi)容提示,保存即可 [master?dd73764]?Merge?branch?'fotfix' [root@node1?taotao]#?git?log?--graph?--pretty=oneline?--abbrev-commit *???dd73764?(HEAD?->?master)?Merge?branch?'fotfix' |\?? |?*?26b42ef?(fotfix)?v2.0-1 *?|?697a6c5?v2.1 |/?? *?1df3da7?v2.0 *???43d8e9a?Merge?branch?'dev' |\?? |?*?21a0411?(dev)?v1.1.1-dev |?*?587719d?v1.1-dev *?|?5685269?v1.1 |/?? *?5d4298d?v1.0 *?b918244?v0.0.2 *?1b5d8e0?v0.0.1

演示3:回到合并之前的版本

#回到合并之前的版本 [root@node1?taotao]#?git?reset?--hard?ORIG_HEAD HEAD?is?now?at?697a6c5?v2.1 [root@node1?taotao]#?git?log?--graph?--pretty=oneline?--abbrev-commit *?697a6c5?(HEAD?->?master)?v2.1 *?1df3da7?v2.0 *???43d8e9a?Merge?branch?'dev' |\?? |?*?21a0411?(dev)?v1.1.1-dev |?*?587719d?v1.1-dev *?|?5685269?v1.1 |/?? *?5d4298d?v1.0 *?b918244?v0.0.2 *?1b5d8e0?v0.0.1 [root@node1?taotao]#?git?show-branch !?[dev]?v1.1.1-dev ?!?[fotfix]?v2.0-1 ??*?[master]?v2.1 --- ?+??[fotfix]?v2.0-1 ??*?[master]?v2.1 ?+*?[fotfix^]?v2.0 ?--?[fotfix~2]?Merge?branch?'dev' ++*?[dev]?v1.1.1-dev [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" third?line??#原來的文件還在 [root@node1?taotao]#?git?checkout?fotfix? Switched?to?branch?'fotfix' [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" new?line???#原來的文件還在

1.git變基分支合并--git rebase

★變基操作

  • $ git checkout dev?: 首先切換到要變基的分支;

  • $ git rebase master: 把他的基從最近一次的共同祖先提交轉(zhuǎn)換為master的最新提交;

  • $ git checkout master :回到master分支;

  • $ git merge -m "MSG"?:master 獲取新的提交。

演示:

[root@node1?taotao]#?git?checkout?master Switched?to?branch?'master' [root@node1?taotao]#?ls first.sh??INSTALL??my.txt??readmin??second.sh??subdir [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" third?line [root@node1?taotao]#?vim?first.sh? [root@node1?taotao]#?cat?first.sh??#編輯文件先解決沖突,以便于演示git變基操作 #!/bin/bash echo?"hello?world" echo?"new?date" #再次提交一次 [root@node1?taotao]#?git?add?first.sh [root@node1?taotao]#?git?commit?-m?"v2.2" [master?7961be2]?v2.2 ?1?file?changed,?1?deletion(-) ?[root@node1?taotao]#?git?log?--graph?--pretty=oneline?--abbrev-commit *?7961be2?(HEAD?->?master)?v2.2 *?697a6c5?v2.1 *?1df3da7?v2.0 *???43d8e9a?Merge?branch?'dev' |\?? |?*?21a0411?(dev)?v1.1.1-dev |?*?587719d?v1.1-dev *?|?5685269?v1.1 |/?? *?5d4298d?v1.0 *?b918244?v0.0.2 *?1b5d8e0?v0.0.1 #切換到要變基的分支 [root@node1?taotao]#?git?checkout?fotfix Switched?to?branch?'fotfix' [root@node1?taotao]#?ls first.sh??INSTALL??my.txt??readmin??second.sh??subdir [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" new?line??#?新增加的一行 #執(zhí)行變基操作,表示把當(dāng)前?fotfix的基變?yōu)閙aster分支的最近一次提交 [root@node1?taotao]#?git?rebase?master First,?rewinding?head?to?replay?your?work?on?top?of?it... Applying:?v2.0-1 [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" new?line [root@node1?taotao]#?git?checkout?master Switched?to?branch?'master' [root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date"??#?此時沒有新行,需執(zhí)行合并操作 [root@node1?taotao]#?git?merge?fotfix? Updating?7961be2..3eaaead Fast-forward?#?快進(jìn)合并 ?first.sh?|?1?+ ?1?file?changed,?1?insertion(+) ?[root@node1?taotao]#?cat?first.sh? #!/bin/bash echo?"hello?world" echo?"new?date" new?line [root@node1?taotao]#?git?log?--graph?--pretty=oneline?--abbrev-commit *?3eaaead?(HEAD?->?master,?fotfix)?v2.0-1 *?7961be2?v2.2 *?697a6c5?v2.1 *?1df3da7?v2.0 *???43d8e9a?Merge?branch?'dev' |\?? |?*?21a0411?(dev)?v1.1.1-dev |?*?587719d?v1.1-dev *?|?5685269?v1.1 |/?? *?5d4298d?v1.0 *?b918244?v0.0.2 *?1b5d8e0?v0.0.1

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前題目:Git應(yīng)用進(jìn)階(二)-創(chuàng)新互聯(lián)
文章起源:http://bm7419.com/article6/dpodog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、小程序開發(fā)、標(biāo)簽優(yōu)化、云服務(wù)器、移動網(wǎng)站建設(shè)、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計