相关疑难解决方法(0)

'git pull'和'git fetch'有什么区别?

主持人注意:鉴于此问题已经发布了67个答案(其中一些已删除),请考虑在发布另一个问题之前是否提供任何新内容.

git pull和之间有什么区别git fetch

git version-control git-pull git-fetch

1万
推荐指数
41
解决办法
269万
查看次数

Git commit 提交暂存和未暂存的文件

TL;DR:当一个文件已暂存和未暂存更改时,一次提交将提交两个版本,以及对该文件的最新更改。为什么?我认为提交只会提交暂存版本,如下所示: https: //stackoverflow.com/a/19892657/279516

假设我们的工作目录中有一个文件。(它之前已提交给回购协议。)

$ ls
foo.txt
Run Code Online (Sandbox Code Playgroud)

该文件的内容当前只有一个字符(数字 1):

$ cat foo.txt
1
Run Code Online (Sandbox Code Playgroud)

让我们将文件的内容更改为“12”。现在我们有这个:

$ cat foo.txt
12
Run Code Online (Sandbox Code Playgroud)

我们的工作目录显示了更改(为简洁起见,删除了说明性 git 输出):

$ git status
modified:   foo.txt
Run Code Online (Sandbox Code Playgroud)

现在 agit add将该文件添加到暂存索引中。

$ git add foo.txt
Run Code Online (Sandbox Code Playgroud)

您在这里看不到它,但文件名现在是绿色的,表明它已经上演:

$ git status
modified:   foo.txt
Run Code Online (Sandbox Code Playgroud)

此时,我们可以提交该文件,它将成为我们本地存储库的一部分。不过,让我们foo.txt先改变一下,看看会发生什么。

$ cat foo.txt
123
Run Code Online (Sandbox Code Playgroud)

如果我们检查,git status我们会看到foo.txt 的两个版本:

$ git status
On branch master
Changes to be committed:

        modified:   foo.txt

Changes not staged for commit:

        modified:   foo.txt
Run Code Online (Sandbox Code Playgroud)

第一个foo.txt是绿色的。第二个是红色的。第一个的内容是“12”。第二个是“123”。如果我们现在承诺会发生什么?foo.txt仅应提交分阶段的内容。因此, …

git

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

git ×2

git-fetch ×1

git-pull ×1

version-control ×1