成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

2020/02/13
104
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

  

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

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

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

1.1 添加單文件改動(dòng) git add [file path]

上一節(jié)課我們已經(jīng)在工作區(qū)創(chuàng)建了 3 個(gè)文件,讓我們開(kāi)始用 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

// 查看此時(shí)的文件狀態(tài),3 個(gè)文件都已在暫存區(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)全部改動(dòng) git add -A [folder path]

有沒(méi)有覺(jué)得 git add [filepath]一次只能添加一個(gè)文件不夠高效?別急,你還可以按文件夾來(lái)提交。這時(shí)我們?cè)僮鲆恍└膭?dòng),將 dummy.c 文件刪除,將 test.c 文件里的內(nèi)容全部刪除,再新增一個(gè)名叫 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
  

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

// 將 app/ 文件夾下的所有類型的文件改動(dòng)全部添加到暫存區(qū)

jay@pc MINGW64 /d/my_project/gittest (master)
$ git add -A app/

// 查看此時(shí) 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ū)文件改動(dòng)退回 git rm

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

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

// 將 test.c 的改動(dòng)從暫存區(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ū)文件移動(dòng)位置 / 重命名 git mv

git mv 是第三種通知 Git 命令,這個(gè)命令用于告訴 Git 我們想把之前用 git add 添加的文件直接在暫存區(qū)里重新命名或移動(dòng)到新位置。讓我們?cè)囍鴮?main.c 重命名為 app.c,并移動(dòng)到 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 移動(dòng)文件位置 git mv [src file] [dest dir]

// 將 app.c 從 gittest 主目錄移動(dòng)到 app/ 目錄下(移動(dòng)操作記錄在暫存區(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

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

碩士畢業(yè)于蘇州大學(xué)電子信息學(xué)院,目前就職于恩智浦(NXP)半導(dǎo)體MCU系統(tǒng)部門,擔(dān)任嵌入式系統(tǒng)應(yīng)用工程師。痞子衡會(huì)定期分享嵌入式相關(guān)文章

南雄市| 宜春市| 苍溪县| 静宁县| 新宾| 新民市| 正阳县| 拜泉县| 遂川县| 临安市| 长治县| 丰城市| 清镇市| 青岛市| 红原县| 乐山市| 鲁甸县| 绿春县| 泸定县| 定边县| 滦南县| 屏边| 科尔| 正安县| 荣昌县| 肇东市| 金华市| 留坝县| 建阳市| 安溪县| 靖宇县| 平昌县| 沂源县| 英山县| 乾安县| 和顺县| 翁源县| 左贡县| 大名县| 应用必备| 汉川市|