Git基础-记录对存储库的更改

本文详细介绍了如何使用Git记录对存储库的更改,包括跟踪新文件、暂存修改、忽略文件、查看文件状态、删除和移动文件等操作。通过Git的status、add、commit等命令,可以有效地管理Git存储库中的变更,确保项目版本的正确跟踪。
摘要由CSDN通过智能技术生成

记录对存储库的更改

 此时,您应该在本地计算机上拥有一个真正的 Git存储库,并在您面前拥有其所有文件的签出或工作副本。通常,每当项目达到要记录​​的状态时,您就需要开始进行更改并将这些更改的快照提交到存储库中。

请记住,工作目录中的每个文件都可以处于以下两种状态之一:已跟踪或未跟踪。跟踪的文件是上一个快照中的文件;它们可以不修改,修改或上演。简而言之,跟踪文件是Git知道的文件。

未跟踪的文件就是所有其他内容-工作目录中不在上一个快照中且不在暂存区中的所有文件。第一次克隆存储库时,所有文件都会被跟踪和未修改,因为Git只是将它们签出,并且您还没有进行任何编辑。

在编辑文件时,Git会将其视为已修改,因为自上次提交以来已对其进行了更改。在工作时,您有选择地暂存这些已修改的文件,然后提交所有已暂存的更改,然后重复该循环。

文件状态的生命周期。

 图8.文件状态的生命周期。

 检查文件状态

 用于确定git status命令处于哪个状态的主要工具。如果在克隆后直接运行此命令,则应看到类似以下内容的内容:

<span style="color:#333333"><code class="language-console">$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean</code></span>

 这意味着您有一个干净的工作目录。换句话说,没有任何跟踪文件被修改。Git也看不到任何未跟踪的文件,否则它们将在此处列出。最后,该命令会告诉您您所在的分支,并告知您该分支尚未与服务器上的同一分支分开。现在,该分支始终是“ master”,这是默认设置。您在这里不必担心。 Git分支将详细介绍分支和参考。

假设您向项目中添加了一个新文件,即一个简单README文件。如果该文件以前不存在,然后运行git status,则会看到未跟踪的文件,如下所示:

<span style="color:#333333"><code class="language-console">$ echo 'My Project' > README
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    README

nothing added to commit but untracked files present (use "git add" to track)</code></span>

 您可以看到新README文件处于未跟踪状态,因为它位于状态输出中“未跟踪的文件”标题下。基本上,未跟踪意味着Git会看到您在上一个快照中没有的文件(提交);在您明确要求Git之前,Git不会开始将其包含在提交快照中。这样做是为了确保您不会意外地包括生成的二进制文件或其他您不想包含的文件。您确实想开始包含README,因此让我们开始跟踪文件。

 跟踪新文件

 为了开始跟踪新文件,请使用命令git add。要开始跟踪README文件,可以运行以下命令:

$ git add README

如果再次运行status命令,则可以看到README现在已跟踪文件并准备将其提交:

<span style="color:#333333"><code class="language-console">$ 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:   README</code></span>

您可以说它是分阶段的,因为它在“要更改的更改”标题下。如果此时提交,则在运行时文件的版本git add就是后续历史快照中的版本。您可能还记得,当您git init早先运行时,然后又运行了git add <files> —那是为了开始跟踪目录中的文件。该git add命令采用文件或目录的路径名;如果是目录,则该命令以递归方式添加该目录中的所有文件。

暂存修改的文件

让我们更改一个已经被跟踪的文件。如果更改了以前跟踪的文件CONTRIBUTING.md,然后git status再次运行命令,则会得到如下所示的内容:

<span style="color:#333333"><code class="language-console">$ 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:   README

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   CONTRIBUTING.md</code></span>

CONTRIBUTING.md文件将出现在名为“未暂存的更改未提交”的部分下-这意味着已跟踪的文件已在工作目录中被修改但尚未暂存。要登台,请运行git add命令。 git add是一个多用途命令-您可以使用它来开始跟踪新文件,暂存文件以及执行其他操作,例如将合并冲突的文件标记为已解决。将其更多地视为“将此内容精确地添加到下一个提交”而不是“将该文件添加到项目中”可能会有所帮助。git add现在运行以暂存CONTRIBUTING.md文件,然后git status再次运行:

<span styl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值