标签: git-add

禁用 git add 。命令

很多时候我错误地使用命令将不需要的文件添加到暂存区域git add .

我想知道是否有一种方法可以完全禁用此命令,以便我只使用git add file

git git-add

5
推荐指数
1
解决办法
3380
查看次数

如何将未暂存的文件移至未跟踪的?

假设这是我在 git status 中查看的内容:

Changes not staged for commit:
    modified:   Makefile.in

Untracked files:
   ../node_modules/somepath/inverter_packet.js
Run Code Online (Sandbox Code Playgroud)

我想做的是将 Makefile.in 从“未暂存提交的更改”移动到“未跟踪的文件”。

我知道我可以忽略使用 所做的更改git update-index --assume-unchanged Makefile.in,并使用命令将它们取回--no-assume-unchanged,但我不想让这些文件完全脱离视图,因为我偶尔会编辑/提交它们。

我想从“未暂存”部分中删除文件,但在输入 时仍会看到它git status

或者,如果我可以(最好是简单地)在输入时停止显示未暂存文件的差异(例如,像我的 Makefile.in 一样)git diff,那也很好。

git git-add git-stage git-rm

5
推荐指数
1
解决办法
6889
查看次数

取消暂存已提交的更改,但将新文件保留在索引中

我想将最后一次提交一分为二,所以我使用git reset HEAD~1,但随后它会丢失对提交添加的新文件(之前未跟踪)的跟踪,并且我必须小心地将它们一一添加回去。我经常有其他未跟踪的文件等待稍后提交,所以这很烦人。

我想要的是一种方法,reset但将提交添加的文件保留为空,就好像它们是用git add --intent-to-add(ie git add -N) 添加的一样。

git git-add git-reset

5
推荐指数
1
解决办法
1216
查看次数

如何查看 git 添加的文件?

有时我运行时git add .会添加不应该添加的大文件。如何在未提交的情况下查看添加了哪些文件?以及如何一次“取消添加”这些文件或所有文件,以便我可以修复.gitignore

git git-add git-stage

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

我是否可以标记一个文件以进行解析,而无需使用一个命令将其添加到索引中?

当发生冲突时,git status显示如下:

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
    both modified:   some_file
Run Code Online (Sandbox Code Playgroud)

现在我可以git add some_file按照命令的建议标记解决方案,但这也会阶段化some_file,我可能不想这样做。

如何标记文件以进行解析而不将其添加到索引中?只需两步即可轻松完成:

git add some_file
git restore --staged some_file
Run Code Online (Sandbox Code Playgroud)

但如果可能的话,我该如何一步完成呢?

如果最佳实践不建议这样做,请告诉我。

git git-add git-index git-stage git-merge-conflict

5
推荐指数
1
解决办法
832
查看次数

Git cat暂存文件到stdout

我已经在git中暂存了一个文件的部分,就像这样

git add --patch ./file
Run Code Online (Sandbox Code Playgroud)

我想将暂存文件的内容输出到stdout.

请注意,暂存文件和工作目录中的文件是不同的,因为我只暂存了部分文件.

git git-add

4
推荐指数
1
解决办法
1079
查看次数

GIT - git-add错误(错误的文件编号)

我正在使用Git创建备份系统.

我刚刚创建了目录并在其上初始化了git.

git init
Run Code Online (Sandbox Code Playgroud)

当我尝试将未跟踪的文件添加到舞台上时

git add -u *.pdf
Run Code Online (Sandbox Code Playgroud)

我收到此回复错误:

sh.exe":/ bin/git:错误的文件号

作为附加信息,我有一个~4500未跟踪文件的列表,如果我尝试逐个添加文件,我没有得到任何错误响应,文件被发送到舞台.

有谁知道如何解决这个问题以及为什么会这样?我需要添加所有这些未跟踪的文件,但我不想以"猴子工作"方式这样做,逐个添加.

git git-add

4
推荐指数
1
解决办法
1730
查看次数

当我刚将文件添加到暂存区时,为什么 Git 会将文件存储在存储库中?

据我了解,当您git add创建文件时,它只是在将文件添加到存储库之前暂存该文件,但为什么我可以在提交之前看到它已添加到 git 存储库中?

例如,如果我创建一个新的 git 存储库并创建一个名为的新文件foo并将内容“hello world”添加到其中,然后,我会在该文件夹内的子目录git add foo中看到一个新项目。我什至可以使用命令查看文件内新文件的内容。objects.gitobjectsgit cat-file -p

文件夹中到底添加了什么.git/objects?从技术上讲,暂存文件有什么作用?git add比如对文件运行a 后会发生哪些步骤?如果我知道步骤,也许我会更好地理解它。

git git-add .git-folder

4
推荐指数
1
解决办法
381
查看次数

如何在 git add 交互式补丁模式中获得更好的帅哥?

我经常使用git add -p somefile交互式暂存给定文件中的部分。但是,如果文件有更复杂的更改,则默认差异会出错,交互式补丁命令提供的大块也会出错。

git diff命令有许多选项可以改进或自定义 diff 输出,包括非常有用的--anchored=<text>,但是有什么方法可以从中获得更好的大块头git add -p吗?

git diff patch interactive git-add

4
推荐指数
1
解决办法
424
查看次数

如何在git中递归添加特定文件?

要在Windows上使用git bash在git上提交一些东西我需要做,例如:

1.git add *
2.git commit -m "Commit test"
3.git push origin master
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我提交了所有更改.我想只添加特定文件(*.h和*.cpp).解决方案是使用:

ad. 1.:
git add *.h
git add *.cpp
Run Code Online (Sandbox Code Playgroud)

但是这样我只在当前文件夹中添加*.h和*.cpp.问题是如何在一个命令中的当前文件夹和子文件夹中添加文件*.h和*.cpp?就像是:

1.git add *.h and *.cpp and_in_subfolders
and then:
2.git commit -m "Commit test"
3.git push origin master
Run Code Online (Sandbox Code Playgroud)

谢谢.

git git-add git-bash

3
推荐指数
1
解决办法
1704
查看次数