欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git文件常用操作總結(jié)及拓展

 更新時(shí)間:2022年04月24日 14:03:56   作者:繁華似錦Fighting  
這篇文章主要為大家介紹了Git文件常用操作總結(jié)及拓展,添加多個(gè)文件到暫存區(qū),提交操作未寫(xiě)備注,從工作區(qū)直接提交到版本庫(kù),有需要的朋友可以借鑒參考下

1、Git本地版本庫(kù)結(jié)構(gòu)

如下圖所示:

  • 工作區(qū)(Working Directory
    添加、編輯、修改、刪除文件等操作。
  • 暫存區(qū)(Stage
    打算提交,但還沒(méi)提交的內(nèi)容。最后可以統(tǒng)一提交到Git倉(cāng)庫(kù)中。也可以不提交,撤銷(xiāo)回來(lái)。
  • Git倉(cāng)庫(kù)(Git Repository
    實(shí)實(shí)在在的項(xiàng)目存儲(chǔ)的每個(gè)一歷史的版本。

2、Git常用操作方法

Git的專屬命令都是以git開(kāi)始的,然后是索要執(zhí)行的操作,最后還可以加上一些參數(shù)。

以下命令都需在倉(cāng)庫(kù)中執(zhí)行。

(1)狀態(tài)查看。

命令: git status

命令作用:查看工作區(qū)、暫存區(qū)狀態(tài)。

(2)添加文件到暫存區(qū)。

命令:git add [file name]

命令作用:

  • 該命令的作用是告訴Git系統(tǒng),將指定文件的當(dāng)前快照寫(xiě)入到版本庫(kù)暫存區(qū)。即,將文件交給Git進(jìn)行版本管理。
  • 提交到暫存區(qū),并且轉(zhuǎn)換文件中的換行符。
  • 被Git追蹤的暫存區(qū)中的文件可以被提交到本地版本庫(kù)。

(3)文件從暫存區(qū)撤回到工作區(qū)。

命令:git rm --cached [file name]

命令作用:把文件從暫存區(qū)撤回到工作區(qū)。

(4)提交文件。

命令:git commit -m '本次提交的說(shuō)明'

命令作用:提交操作就通過(guò)命令將Git暫存區(qū)中的文件快照永久性地寫(xiě)入到本地版本庫(kù)中。

3、補(bǔ)充:添加多個(gè)文件到暫存區(qū)

有兩種方式:

git add命令后添加多個(gè)文件,文件之間使用空格分隔。

git add命令后使用通配符*指定多個(gè)文件。

示例:

# 1.查看工作區(qū)、暫存區(qū)狀態(tài)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hello.java      # 文件名為紅色
        test.java       # 文件名為紅色
        xyj-sha_hs.py   # 文件名為紅色
        xyj-sun_wk.py   # 文件名為紅色
        xyj-zhu_bj.py   # 文件名為紅色
nothing added to commit but untracked files present (use "git add" to track)
# 2.添加多個(gè)文件到暫存區(qū)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add hello.java test.java
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   hello.java  # 文件名為綠色
        new file:   test.java   # 文件名為綠色
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        xyj-sha_hs.py   # 文件名為紅色
        xyj-sun_wk.py   # 文件名為紅色
        xyj-zhu_bj.py   # 文件名為紅色
# 3.使用通配符添加多個(gè)文件到暫存區(qū)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add xyj*.py
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   hello.java      # 文件名為綠色
        new file:   test.java       # 文件名為綠色
        new file:   xyj-sha_hs.py   # 文件名為綠色
        new file:   xyj-sun_wk.py   # 文件名為綠色
        new file:   xyj-zhu_bj.py   # 文件名為綠色

4、補(bǔ)充:提交操作未寫(xiě)備注

如果你在執(zhí)行git conmit提交命令的時(shí)候,并沒(méi)有寫(xiě)-m信息,這時(shí)會(huì)啟動(dòng)文本編輯器,以便輸入本次提交的說(shuō)明。

默認(rèn)的提交消息包含最后一次運(yùn)行git status的輸出,放在注釋行里,如下圖:

另外開(kāi)頭還有一空行,供你輸入提交說(shuō)明。你完全可以去掉這些注釋行,不過(guò)留著也沒(méi)關(guān)系,多少能幫你回想起這次更新的內(nèi)容有哪些。

如下:

會(huì)彈出一個(gè)窗口,一個(gè)vim編輯器窗口:

說(shuō)明:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Changes to be committed:
#       modified:   readme.txt
#

Please enter the commit message for your changes. Lines startingwith '#' will be ignored, and an empty message aborts the commit.

對(duì)于你這次提交中修改的內(nèi)容要進(jìn)行說(shuō)明,
以'#'開(kāi)頭的行將被忽略,并且在第一行填寫(xiě)說(shuō)明信息。

Changes to be committed: modified: readme.txt

readme.txt的修改已被Git追蹤到。

進(jìn)行提交說(shuō)明的補(bǔ)充:

保存并退出后,提交成功,如下圖:

總結(jié):當(dāng)提交操作的說(shuō)明內(nèi)容比較多,或者需要寫(xiě)的比較詳細(xì)的時(shí)候,可以使用這種方式提交。

5、補(bǔ)充:從工作區(qū)直接提交到版本庫(kù)

盡管使用暫存區(qū)域的方式,可以準(zhǔn)備好要提交的細(xì)節(jié),但有時(shí)候這么做略顯繁瑣。

Git提供了一個(gè)跳過(guò)使用暫存區(qū)域的方式,只要在提交的時(shí)候,給git commit命令加上-a選項(xiàng),Git就會(huì)自動(dòng)把所有已經(jīng)跟蹤過(guò)的文件,暫存起來(lái)一并提交,從而跳過(guò)git add步驟。

命令:git commit -a

示例:

(1)先查看當(dāng)前工作目錄中的文件狀態(tài)。

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean

可以看到非常的干凈。

(2)我們創(chuàng)建兩個(gè)文件。

一個(gè)文件是新增文件test.txt,此前沒(méi)有被Git追蹤過(guò)。

兩個(gè)文件是readme.txt,已被Git追蹤,我們將該文件變成已修改狀態(tài)。

# 1.新建test.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ echo "hello test" &gt; test.txt
# 2.修改readme.txt文件
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ echo "hello git v666" &gt;&gt; readme.txt
# 3.查看工作目錄中的文件狀態(tài)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add &lt;file&gt;..." to update what will be committed)
  (use "git restore &lt;file&gt;..." to discard changes in working directory)
        modified:   readme.txt	# 已修改狀態(tài),未在暫存區(qū)
Untracked files:
  (use "git add &lt;file&gt;..." to include in what will be committed)
        test.txt    # 未追蹤狀態(tài)
no changes added to commit (use "git add" and/or "git commit -a")

(3)提交到Git版本庫(kù)中。

我們直接使用git commit -a -m命令直接執(zhí)行提交操作,看看會(huì)發(fā)生什么情況。

# 提交
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit -a -m 'test -a'
[master 1b0de31] test -a
 1 file changed, 1 insertion(+)
# 查看工作目錄文件狀態(tài)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Untracked files:
  (use "git add &lt;file&gt;..." to include in what will be committed)
        test.txt    # 未追蹤狀態(tài)
nothing added to commit but untracked files present (use "git add" to track)

我們可以看到,未被追蹤狀態(tài)的文件,不能直接從工作區(qū)直接提交到版本庫(kù),使用-a選擇也不可以。

以上就是Git文件常用操作總結(jié)及拓展的詳細(xì)內(nèi)容,更多關(guān)于Git文件操作拓展的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VS CODE 使用SVN插件的方法步驟

    VS CODE 使用SVN插件的方法步驟

    這篇文章主要介紹了VS CODE 使用SVN插件的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • gradle+shell實(shí)現(xiàn)自動(dòng)系統(tǒng)簽名

    gradle+shell實(shí)現(xiàn)自動(dòng)系統(tǒng)簽名

    這篇文章主要介紹了gradle+shell實(shí)現(xiàn)自動(dòng)系統(tǒng)簽名的相關(guān)資料,需要的朋友可以參考下
    2019-08-08
  • 設(shè)計(jì)引導(dǎo)--一個(gè)鴨子游戲引發(fā)的設(shè)計(jì)理念(多態(tài),繼承,抽象,接口,策略者模式)

    設(shè)計(jì)引導(dǎo)--一個(gè)鴨子游戲引發(fā)的設(shè)計(jì)理念(多態(tài),繼承,抽象,接口,策略者模式)

    設(shè)計(jì)引導(dǎo)--一個(gè)鴨子游戲引發(fā)的設(shè)計(jì)多態(tài),繼承,抽象,接口,策略者模式;這篇博文是從實(shí)際生活中,提煉出來(lái)的設(shè)計(jì)理念,它現(xiàn)在是骨架,現(xiàn)在我加以代碼實(shí)例,完成程序的血肉,以求讓大家活生生的體會(huì)設(shè)計(jì)中的精髓
    2013-01-01
  • IDEA開(kāi)啟Run Dashboard的配置詳解

    IDEA開(kāi)啟Run Dashboard的配置詳解

    這篇文章主要介紹了IDEA開(kāi)啟Run Dashboard的配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • svn 常用命令集合

    svn 常用命令集合

    SVN是subversion的縮寫(xiě),是一個(gè)開(kāi)放源代碼的版本控制系統(tǒng),通過(guò)采用分支管理系統(tǒng)的高效管理,簡(jiǎn)而言之就是用于多個(gè)人共同開(kāi)發(fā)同一個(gè)項(xiàng)目,實(shí)現(xiàn)共享資源,實(shí)現(xiàn)最終集中式的管理
    2020-07-07
  • git push & git pull 推送/拉取分支的具體使用

    git push & git pull 推送/拉取分支的具體使用

    這篇文章主要介紹了git push & git pull 推送/拉取分支的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 網(wǎng)站搜索框使用微信掃碼功能

    網(wǎng)站搜索框使用微信掃碼功能

    客戶要求可以直接識(shí)別標(biāo)簽二維碼對(duì)某些儀器設(shè)備進(jìn)行管理,類(lèi)似于淘寶搜索框可以直接拍照搜索商品一樣。接下來(lái)通過(guò)本文給大家分享網(wǎng)站搜索框使用微信掃碼功能,需要的朋友可以參考下
    2019-08-08
  • 矩形相交以及求出相交的區(qū)域的原理解析

    矩形相交以及求出相交的區(qū)域的原理解析

    問(wèn)題:給定兩個(gè)矩形A和B,矩形A的左上角坐標(biāo)為(Xa1,Ya1),右下角坐標(biāo)為(Xa2,Ya2),矩形B的左上角坐標(biāo)為(Xb1,Yb1),右下角 坐標(biāo)為(Xb2,Yb2)。
    2011-01-01
  • VScode中配置使用fortran的方法

    VScode中配置使用fortran的方法

    這篇文章主要介紹了VScode中配置使用fortran的方法,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • IE條件語(yǔ)句 IE hack大全

    IE條件語(yǔ)句 IE hack大全

    條件注釋只有在IE瀏覽器被支持,因此僅適用于IE的特殊指令。從IE5起都支持
    2012-05-05

最新評(píng)論