日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)

發布時間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

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

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

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

  上一節課我們已經在工作區創建了3個文件,讓我們開始用git add將它們一一添加到暫存區:

// 將main.c,test.c, dummy.c分別添加到暫存區
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

// 查看此時的文件狀態,3個文件都已在暫存區中了
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.cnew file: app/test.cnew file: main.c

1.2添加文件夾內全部改動git add -A [folder path]

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

// 查看dummy.c,test.c, track.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/dummy.cnew file: app/test.cnew file: main.cChanges 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.cmodified: app/test.cUntracked files:(use "git add <file>..." to include in what will be committed)app/trash.c

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

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

// 查看此時Git狀態,尤其是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/trash.cnew file: app/test.cnew file: main.c

2.將暫存區文件改動退回git rm

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

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

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

rm 'app/test.c'

// 查看test.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/trash.cnew file: main.cUntracked 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.cUntracked files:(use "git add <file>..." to include in what will be committed)app/

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

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

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

// 將main.c在暫存區里直接改名為app.c(app.c也記錄在暫存區)
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.cUntracked 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/目錄下(移動操作記錄在暫存區)
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.cUntracked files:(use "git add <file>..." to include in what will be committed)app/test.c

轉載于:https://www.cnblogs.com/henjay724/p/8541981.html

總結

以上是生活随笔為你收集整理的痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。