日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Git文件常用操作總結及拓展_其它綜合

作者:繁華似錦Fighting ? 更新時間: 2022-06-22 編程語言

1、Git本地版本庫結構

如下圖所示:

  • 工作區(Working Directory
    添加、編輯、修改、刪除文件等操作。
  • 暫存區(Stage
    打算提交,但還沒提交的內容。最后可以統一提交到Git倉庫中。也可以不提交,撤銷回來。
  • Git倉庫(Git Repository
    實實在在的項目存儲的每個一歷史的版本。

2、Git常用操作方法

Git的專屬命令都是以git開始的,然后是索要執行的操作,最后還可以加上一些參數。

以下命令都需在倉庫中執行。

(1)狀態查看。

命令:?git status

命令作用:查看工作區、暫存區狀態。

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

命令:git add [file name]

命令作用:

  • 該命令的作用是告訴Git系統,將指定文件的當前快照寫入到版本庫暫存區。即,將文件交給Git進行版本管理。
  • 提交到暫存區,并且轉換文件中的換行符。
  • 被Git追蹤的暫存區中的文件可以被提交到本地版本庫。

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

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

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

(4)提交文件。

命令:git commit -m '本次提交的說明'

命令作用:提交操作就通過命令將Git暫存區中的文件快照永久性地寫入到本地版本庫中。

3、補充:添加多個文件到暫存區

有兩種方式:

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

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

示例:

# 1.查看工作區、暫存區狀態
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.添加多個文件到暫存區
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.使用通配符添加多個文件到暫存區
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、補充:提交操作未寫備注

如果你在執行git conmit提交命令的時候,并沒有寫-m信息,這時會啟動文本編輯器,以便輸入本次提交的說明。

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

另外開頭還有一空行,供你輸入提交說明。你完全可以去掉這些注釋行,不過留著也沒關系,多少能幫你回想起這次更新的內容有哪些。

如下:

會彈出一個窗口,一個vim編輯器窗口:

說明:

# 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.

對于你這次提交中修改的內容要進行說明,
以'#'開頭的行將被忽略,并且在第一行填寫說明信息。

Changes to be committed: modified: readme.txt

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

進行提交說明的補充:

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

總結:當提交操作的說明內容比較多,或者需要寫的比較詳細的時候,可以使用這種方式提交。

5、補充:從工作區直接提交到版本庫

盡管使用暫存區域的方式,可以準備好要提交的細節,但有時候這么做略顯繁瑣。

Git提供了一個跳過使用暫存區域的方式,只要在提交的時候,給git commit命令加上-a選項,Git就會自動把所有已經跟蹤過的文件,暫存起來一并提交,從而跳過git add步驟。

命令:git commit -a

示例:

(1)先查看當前工作目錄中的文件狀態。

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

可以看到非常的干凈。

(2)我們創建兩個文件。

一個文件是新增文件test.txt,此前沒有被Git追蹤過。

兩個文件是readme.txt,已被Git追蹤,我們將該文件變成已修改狀態。

# 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.查看工作目錄中的文件狀態
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	# 已修改狀態,未在暫存區
Untracked files:
  (use "git add &lt;file&gt;..." to include in what will be committed)
        test.txt    # 未追蹤狀態
no changes added to commit (use "git add" and/or "git commit -a")

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

我們直接使用git commit -a -m命令直接執行提交操作,看看會發生什么情況。

# 提交
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit -a -m 'test -a'
[master 1b0de31] test -a
 1 file changed, 1 insertion(+)
# 查看工作目錄文件狀態
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    # 未追蹤狀態
nothing added to commit but untracked files present (use "git add" to track)

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

原文鏈接:https://www.cnblogs.com/liuyuelinfighting/p/16178013.html

欄目分類
最近更新