gpt4 book ai didi

git - git add 和 git commit -a 的区别

转载 作者:行者123 更新时间:2023-12-05 04:09:45 25 4
gpt4 key购买 nike

我正在努力更好地理解 git 的工作原理。

因此我们有一个工作目录(我们的项目文件)、一个暂存区(准备好进行的更改的集合)和一个 git 存储库(提交时应用这些更改的地方)。

但是我很难理解,因为似乎文件被“跟踪”或没有提到某些特定的东西,但我们仍然说每个部分都有自己的跟踪形式?

这样说对吗:

  1. 如果我在工作目录中添加或修改文件,git 会检测到所有这些。我们是否说这些文件此时被 git “跟踪”了?或者它们只是“检测到”(或其他)?项目文件夹/工作目录中的所有内容都被“跟踪”了吗?

  2. git add {directory or filename} 似乎将内容添加到暂存区,是吗?在这一点上,我们是否说所有暂存文件都是“跟踪”文件,当我们执行 git ls-files 时出现的文件,我相信它显示了暂存区域中的文件?或者没有?

  3. git commit -a 将暂存区中的所有更改移动到存储库。

这是正确的吗?

最佳答案

  1. If I add or modify a file in my working directory, git detects all of this. Do we say that these files become "tracked" by git at this point? Or are they merely "detected" (or something else)? Is everything in the project folder / working directory "tracked"?

Git 检测修改和删除的文件。如果它们被跟踪(即它们之前添加并提交),它们将在 git status 的输出中显示为“已修改”。未跟踪的新文件和修改后的文件显示为“未跟踪”。

  1. git add {directory or filename} appears to add the contents to the staging area, yes? At this point do we say all staged files are "tracked" files, the ones that show up when we do git ls-files, which I believe shows the files in the staging area? Or no?

暂存区用于准备下一次提交。你可以说它包含的文件是“被跟踪的”,但它的内容不是永久的;它可以随时更改。为了让 Git 真正“跟踪”一个新文件,您必须提交阶段性更改。

  1. git commit -a moves all the changes in the staging area to the repository.

git commit 使用暂存内容创建新提交。 git commit -a 自动暂存被更改或删除的跟踪文件,然后运行提交。未添加新文件。

阅读更多关于 git commit 的信息以及如何Git records the changes to the repository .

关于git - git add 和 git commit -a 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com