91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

痞子衡
認證:普通會員
所在專題目錄 查看專題
第一本Git命令教程(1) - 準(zhǔn)備
第一本Git命令教程(3) - 變動
第一本Git命令教程(4) - 轉(zhuǎn)移
第一本Git命令教程(5) - 提交
第一本Git命令教程(6) - 日志
第一本Git命令教程(2) - 連接
作者動態(tài) 更多
一種多MCU分時復(fù)用Flash啟動的創(chuàng)新方法(下)
2星期前
一種多MCU分時復(fù)用Flash啟動的創(chuàng)新方法(上)
3星期前
RT10xx系列UART SDP能設(shè)置多高波特率?
06-06 09:51
有時候MCU片內(nèi)合封Flash就是個黑盒子!
05-15 13:52
有人說高性能MCU片內(nèi)合封Flash不可靠?
05-13 14:33

第一本Git命令教程(4) - 轉(zhuǎn)移

今天是Git系列課程第四課,上一課我們在Git空間里做了一些文件改動并且知道了如何利用Git查看這些變動,今天痞子衡要講的是將這些變動提交到Git本地倉庫前的準(zhǔn)備工作。

Git倉庫目錄下的文件改動操作默認都發(fā)生在Git工作區(qū)內(nèi),Git并不會主動管理。如果希望Git能夠管理這些變動,你需要主動通知Git。共有3種通知Git的命令(git add/rm/mv),痞子衡為大家一一講解。

1.將工作區(qū)文件改動添加到暫存區(qū)git add

git add是第一種通知Git命令,這個命令用于告訴Git我們新增了文件改動,被git add命令操作過的文件(改動)便會處于Git暫存區(qū)。

1.1添加單文件改動git add [file path]

上一節(jié)課我們已經(jīng)在工作區(qū)創(chuàng)建了3個文件,讓我們開始用git add將它們一一添加到暫存區(qū):

// 將main.c,test.c, dummy.c分別添加到暫存區(qū)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git add main.c

jay@pc MINGW64 /d/my_project/gittest (master)
$ git add app/test.c

jay@pc MINGW64 /d/my_project/gittest (master)
$ git add app/dummy.c

// 查看此時的文件狀態(tài),3個文件都已在暫存區(qū)中了
jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   app/dummy.c
        new file:   app/test.c
        new file:   main.c

1.2添加文件夾內(nèi)全部改動git add -A [folder path]

有沒有覺得git add [filepath]一次只能添加一個文件不夠高效?別急,你還可以按文件夾來提交。這時我們再做一些改動,將dummy.c文件刪除,將test.c文件里的內(nèi)容全部刪除,再新增一個名叫trash.c的文件。

// 查看dummy.c,test.c, track.c狀態(tài)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   app/dummy.c
        new file:   app/test.c
        new file:   main.c

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    app/dummy.c
        modified:   app/test.c

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        app/trash.c

讓我們試試git add -A [folderpath],執(zhí)行完這個命令后,我們可以看到app/文件夾下的所有類型的文件改動(新增、修改、刪除)被一次性地存儲到了暫存區(qū),這下是不是效率高了很多。有興趣的朋友還可以繼續(xù)研究git add .(不包括刪除操作)和git add -u(不包括新增操作)兩個命令,實際上git add -A是這兩個命令的并集。

// 將app/文件夾下的所有類型的文件改動全部添加到暫存區(qū)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git add -A app/

// 查看此時Git狀態(tài),尤其是app/文件夾下的文件狀態(tài)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   app/trash.c
        new file:   app/test.c
        new file:   main.c

2.將暫存區(qū)文件改動退回git rm

git rm是第二種通知Git命令,這個命令用于告訴Git我們想把之前用git add添加的文件改動從Git暫存區(qū)里拿出去,不需要Git記錄了。拿出去有兩種拿法,一種是從暫存區(qū)退回到工作區(qū),另一種是直接丟棄文件改動。讓我們試著將test.c退回到工作區(qū),trash.c直接丟棄。

2.1退回文件改動到工作區(qū)git rm --cache [file path]

// 將test.c的改動從暫存區(qū)移回工作區(qū)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git rm --cache app/test.c

rm 'app/test.c'
// 查看test.c是否已經(jīng)移回到工作區(qū)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   app/trash.c
        new file:   main.c

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        app/test.c

2.2直接刪除文件git rm -f [file path]

// 將track.c文件直接從Git空間里刪除,不留痕跡
jay@pc MINGW64 /d/my_project/gittest (master)
$ git rm -f app/trash.c

rm 'app/trash.c'
jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   main.c

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        app/

3.將暫存區(qū)文件移動位置/重命名git mv

git mv是第三種通知Git命令,這個命令用于告訴Git我們想把之前用git add添加的文件直接在暫存區(qū)里重新命名或移動到新位置。讓我們試著將main.c重命名為app.c,并移動到app/文件夾下。

3.1文件重命名git mv [src file] [dest file]

// 將main.c在暫存區(qū)里直接改名為app.c(app.c也記錄在暫存區(qū))
jay@pc MINGW64 /d/my_project/gittest (master)
$ git mv main.c app.c

jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   app.c

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        app/

3.2移動文件位置git mv [src file] [dest dir]

// 將app.c從gittest主目錄移動到app/目錄下(移動操作記錄在暫存區(qū))
jay@pc MINGW64 /d/my_project/gittest (master)
$ git mv app.c app/

jay@pc MINGW64 /d/my_project/gittest (master)
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   app/app.c

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        app/test.c
聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 0
收藏 1
關(guān)注 41
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 巴塘县| 鹤山市| 陇川县| 招远市| 大兴区| 赤峰市| 临海市| 巴林左旗| 石狮市| 革吉县| 宁都县| 英德市| 平邑县| 汕尾市| 南昌县| 五原县| 徐闻县| 黄大仙区| 平凉市| 澎湖县| 文昌市| 浮山县| 会昌县| 岑溪市| 林周县| 元谋县| 文安县| 济南市| 高要市| 信阳市| 独山县| 上饶市| 潜山县| 清水河县| 曲麻莱县| 宁陕县| 丰宁| 大港区| 常山县| 德化县| 盘锦市|