溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Git初始化查看添加提交的方法

發(fā)布時間:2022-04-24 14:13:26 來源:億速云 閱讀:184 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Git初始化查看添加提交的方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Git初始化查看添加提交的方法”吧!

    1、Git最基礎(chǔ)的使用方式

    (1)初始化本地版本庫

    要對現(xiàn)有的某個項目開始使用Git管理,只需到此項目所在的根目錄,執(zhí)行git init命令即可。

    準(zhǔn)備一個新的Git本地版本庫:

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
    $ git init
    Initialized empty Git repository in J:/git-repository/learngit/.git/

    說明:初始化Git倉庫后,在當(dāng)前目錄下會出現(xiàn)一個名為.git的目錄,所有Git需要的數(shù)據(jù)和資源都存放在這個目錄中。

    不過目前,僅僅是按照既有的結(jié)構(gòu)框架,初始化好了Git倉庫中所有的文件和目錄,但我們還沒有開始跟蹤管理項目中的任何一個文件。

    (2)查看文件的狀態(tài)

    使用git status命令進(jìn)行查看。

    進(jìn)入本地版本庫查看工作區(qū)、暫存區(qū)中文件的狀態(tài)。

    # 執(zhí)行`git status`命令
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git status
    # 在主分支上工作
    On branch master
    # 尚無提交文件,指的是本地庫中沒有提交過任何文件。
    No commits yet
    # 無需提交(可創(chuàng)建/復(fù)制文件并使用“git add”進(jìn)行跟蹤)
    # 無需提交指的是,暫存區(qū)中沒有任何可提交的文件
    # 追蹤文件,就是讓Git管理該文件。
    nothing to commit (create/copy files and use "git add" to track)

    (3)把文件添加到暫存區(qū)

    1)創(chuàng)建文件后查看工作區(qū)、暫存區(qū)中文件的狀態(tài)。

    我們在倉庫目錄中創(chuàng)建一個readme.txt文件后,在執(zhí)行git status命令。

    # 創(chuàng)建readme.txt文件
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ touch readme.txt
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ ll
    total 0
    -rw-r--r-- 1 L 197121 0  4月  4 00:38 readme.txt
    # 查看工作區(qū)、暫存區(qū)狀態(tài)
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git status
    On branch master
    # 尚無提交文件,指的是本地庫中沒有提交過任何文件。
    No commits yet
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            readme.txt	# 文件名為紅色
    nothing added to commit but untracked files present (use "git add" to track)

    說明:

    Untracked files:readme.txt

    表示發(fā)現(xiàn)未追蹤的文件readme.txt

    use "git add <file>..." to include in what will be committed

    表示對readme.txt文件,你可以使用git add 命令,將新建文件添加到暫存區(qū)。

    nothing added to commit but untracked files present (use "git add" to track) 

    表示你沒有添加任何內(nèi)容到暫存區(qū),但是存在未追蹤的文件,可使用“git add”命令進(jìn)行追蹤。

    2)將工作區(qū)的文件添加到暫存區(qū)。

    執(zhí)行git add命令,將readme.txt文件添加到暫存區(qū)。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git add readme.txt
    warning: LF will be replaced by CRLF in readme.txt.
    The file will have its original line endings in your working directory

    說明:

    warning: LF will be replaced by CRLF in readme.txt.

    The file will have its original line endings in your working directory

    • 警告:readme.txt文件中的換行符格式會被替換,CRLF替換LF。
      在我們安裝Git的第8步時,所選擇的選項。這是Git底層的東西,不用我們控制的。

    • 但是該文件在你的工作目錄中,還是保存原始文件的換行符格式。

    • LF是Linux系統(tǒng)下的換行符,而CRLF是Windows系統(tǒng)下的換行符。由于我們的文件創(chuàng)建于Linux系統(tǒng)下(Git Bash中創(chuàng)建),而保存中Windows系統(tǒng)中,所以文件中的行結(jié)束符要使用Windows下的CRLF格式換行。

    • 以上兩行就是一個提示作用,對我們的操作沒有實際影響。

    3)再次查看工作區(qū)、暫存區(qū)狀態(tài)。

    執(zhí)行git status命令查看工作區(qū)、暫存區(qū)狀態(tài)。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git status
    On branch master
    No commits yet
    Changes to be committed:
      (use "git rm --cached &lt;file&gt;..." to unstage)
            new file:   readme.txt	# 文件名為綠色

    說明:

    Changes to be committed: new file: readme.tx

    所做更改:新建了readme.txt文件

    use "git rm --cached <file>..." to unstage

    提示你可以適用使“git rm --cached <file> ...”命令,
    把文件從暫存區(qū)中撤回到工作區(qū)。

    總結(jié):

    只要在"Changes to be committed"這行下面顯示的文件,就說明是已暫存狀態(tài)。

    如果此時提交,那么該文件此時此刻的版本,將被留存在歷史記錄中。

    git add命令后面可以指明要跟蹤的文件或目錄路徑。

    如果是目錄的話,就說明要遞歸跟蹤該目錄下的所有文件。(其實git add命令的潛臺詞就是把目標(biāo)文件快照放入暫存區(qū)域,同時未曾跟蹤過的文件標(biāo)記為已跟蹤。)

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

    執(zhí)行git rm --cached命令,將readme.txt文件從暫存區(qū)撤回到工作區(qū)。

    并執(zhí)行git status命令查看工作區(qū)、暫存區(qū)狀態(tài)。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git rm --cached readme.txt
    rm 'readme.txt'
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git status
    On branch master
    No commits yet
    Untracked files:
      (use "git add &lt;file&gt;..." to include in what will be committed)
            readme.txt	# 文件名為紅色
    nothing added to commit but untracked files present (use "git add" to track)

    可以看到結(jié)果,readme.txt文件又成為了一個未被Git追蹤的文件。

    (4)把暫存區(qū)的內(nèi)容提交到本地版本庫

    當(dāng)暫存區(qū)域已經(jīng)準(zhǔn)備妥當(dāng)可以提交時,在此之前,請一定要確認(rèn)還有什么修改過的,或新建的文件還沒有git add到暫存區(qū),否則提交的時候不會記錄這些還沒暫存起來的變化。

    所以,每次準(zhǔn)備提交前,先用git status查看下,需要提交的文件是不是都已暫存起來了,然后再運行提交命令git commit -m '備注信息'。

    1)將文件添加到緩存區(qū)并提交到本地版本庫。

    readme.txt文件加入到暫存區(qū),并執(zhí)行g(shù)it commit -m '本次提交的說明',將readme.txt文件提交到本地版本庫。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git add readme.txt
    warning: LF will be replaced by CRLF in readme.txt.
    The file will have its original line endings in your working directory
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git commit readme.txt -m 'My first commit.new file readme.txt'
    warning: LF will be replaced by CRLF in readme.txt.
    The file will have its original line endings in your working directory
    [master (root-commit) e84b93b] My first commit.new file readme.txt
     1 file changed, 1 insertion(+)
     create mode 100644 readme.txt

    重點說明最下面三行內(nèi)容:

    master:表示master(主干)分支。

    root-commitroot表示根,意思是該版本庫的第一次提交。

    e84b93b:提交操作的版本號概要。

    My first commit.new file readme.txt:本次提交的說明信息。

    1 file changed:一個文件被修改。

    1 insertions(+):增加了1行內(nèi)容,+號表示增加,-號表示減少。

    create mode 100644 readme.txtreadme.txt文件創(chuàng)建模式為100644,
    100代表regular file(普通文件),644代表文件權(quán)限。

    提示:提交時記錄的是放在暫存區(qū)域的快照。

    即:每一次執(zhí)行提交操作時,都是對項目作一次快照,以后可以回到這個狀態(tài),或者與這個狀態(tài)進(jìn)行比較。

    2)將文件提交到本地版本庫后工作區(qū)、暫存區(qū)狀態(tài)。

    執(zhí)行git status命令查看工作區(qū)、暫存區(qū)狀態(tài)。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git status
    On branch master
    # 暫存區(qū)中沒有可提交的內(nèi)容
    # 工作目錄和本地版本庫是一樣的,沒有修改、新建等操作。
    nothing to commit, working tree clean

    3)修改文件內(nèi)容后查看工作區(qū)、暫存區(qū)狀態(tài)。

    修改readme.txt文件內(nèi)容后,再執(zhí)行git status命令查看工作區(qū)、暫存區(qū)狀態(tài)。

    # 修改文件內(nèi)容
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ echo "git world" &gt;&gt; readme.txt
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ cat readme.txt
    hello git world
    git world
    # 查看工作區(qū)、暫存區(qū)狀態(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	# 文件名為紅色
    no changes added to commit (use "git add" and/or "git commit -a")

    說明:

    • Changes not staged for commit:modified: readme.txtreadme.txt文件被修改,但是沒有添加到暫存區(qū)

    • use "git add <file>..." to update what will be committed表示對readme.txt文件,你可以使用git add <file>命令,
      將文件更新添加到暫存區(qū)。
      和第(2)步的
      use "git add <file>..." to include in what will be committed是有一點差別的。

    • use "git restore <file>..." to discard changes in working directory表示可以通過git restore <file>...命令,放棄工作目錄中文件的更改。
      就是還原文件。Git早期版本該命令為git checkout --<file>...。

    • no changes added to commit (use "git add" and/or "git commit -a")表示你沒有添加要提交的更改,
      and/or表示你可使用“git add”把變更文件添加到暫存區(qū),
      在通過"git commit -a"提交到本地版本庫,
      你也可以通過"git commit -a"直接把變更的文件提交到本地版本庫。
      注意使用git commit -a命令用加文件名。

    4)把修改后的文件提交到暫存區(qū)。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git add readme.txt
    warning: LF will be replaced by CRLF in readme.txt.
    The file will have its original line endings in your working directory
    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git status
    On branch master
    Changes to be committed:
      (use "git restore --staged &lt;file&gt;..." to unstage)
            modified:   readme.txt	# 文件名為綠色

    說明:

    Changes to be committed: modified: readme.txt

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

    use "git restore --staged <file>..." to unstage

    你可以用git restore --staged <file>...命令,
    將文件從暫存區(qū)撤出,但不會撤銷文件的更改。

    5)將修改過后的文件提交到本地版本庫。

    L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
    $ git commit readme.txt -m 'modified readme.txt'
    warning: LF will be replaced by CRLF in readme.txt.
    The file will have its original line endings in your working directory
    [master e704334] modified readme.txt
     1 file changed, 1 insertion(+)

    可以看到,master后沒有 (root-commit)了,因為根提交只有一次。

    新創(chuàng)建的文件先添加到暫存區(qū),然后添加到本地版本庫。

    而已經(jīng)提交到本地版本庫的文件,修改了,可以按照上面操作,也可以直接提交到本地版本庫。

    2、總結(jié)本文用到的Git命令

    序號Git命令說明
    1git init初始化本地版本庫。
    2git status查看當(dāng)前工作區(qū)和暫存區(qū)文件的狀態(tài)。
    3git add <file>...可以將文件添加到暫存區(qū)。
    4git commit -m ' '提交更新。

    感謝各位的閱讀,以上就是“Git初始化查看添加提交的方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Git初始化查看添加提交的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    git
    AI