问题标签 [git-add]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
terminal - “砰”或“!”是什么意思?在 git 命令之前?
正如您从这段摘录中看到的那样,有一个“!” 在 git 命令之前。重点是什么?
- https://stackoverflow.com/a/8956546/1354543
我了解别名以及命令本身在做什么,但不是“!”的重点 在 git 命令之前。
git - 恢复添加到索引但随后被 git reset 删除的文件
我在索引中添加了一些文件,但后来我错误地用git reset --hard
. 我该如何恢复它们?这是发生的事情:
- 我使用添加了所有文件
git add .
- 然后我承诺
- 当我检查状态时,仍然有文件未包含在 add 的提交中,这很奇怪
- 我再次添加了未跟踪的文件,这次成功了
- 但我希望所有内容都在 1 次提交中,所以我查找了如何取消我刚刚提交的内容
- 我用过
git reset --hard HEAD^
——显然是个坏主意,所有文件都被删除了 - 所以我过去常常
git reflog
找到我离开的地方 - 然后我过去常常
git reflog ______
回到我的最后一次提交。 - 然后我曾经
git reset HEAD
取消提交提交(我最初应该做的)但是我在提交之后添加的文件(见上文)仍然消失了。
我如何取回这些文件?
git - git add * 和 git add . 有什么区别,如果有的话?
git animals有这一系列命令:
git add *
与git add .
(我通常做的)相比,它们的作用是什么?
git - 向暂存区添加文件时,git 是否保存目录信息?
我对 git add 操作很好奇,所以我做了一些测试。
创建索引
做一些改变
取回文件
我的疑问是:当我这样做时'git add .'
,只会创建一个 blob,而不是创建一棵树来记录直接的“mydir”。那么,如何git checkout mydir/hello
才能找到 blob 呢?
git - 使用 git add --patch 时查找下一个匹配的块
我发现使用git add --patch有时对我的工作流程非常有用,例如当我需要在准备提交任何内容之前修改很多内容时,尤其是文档。如果我有大量要筛选的帅哥,通过/的搜索功能很有帮助,但我还没有找到任何方法来搜索与我的正则表达式匹配的下一个帅哥,而无需每次都重新输入正则表达式。有没有办法做到这一点?
git - 即使使用 -f 添加目录时也会忽略目录中的某些文件
我只是按照 Eli Barzilay 在这里建议的方式将我的点文件放在存储库中:
所以我终于找到了一个兼顾两者的解决方案:将 repo 放在一个子目录中,而不是符号链接,为“core.worktree”添加一个配置选项作为你的主目录。现在,当您在主目录中时,您不在 git repo 中(因此第一个问题消失了),并且您不需要像第二种情况那样处理脆弱的符号链接。您仍然有排除您不希望版本化的路径的小麻烦(例如,“.git/info/exclude”技巧中的“*”),但这并不新鲜。
我的 .git/info/exclude 看起来像这样:
第一*
行的成功忽略了所有文件,所以我用git add -f
. 但是,这会产生副作用,即我想要忽略的文件会溜走。
有没有办法告诉 git真正忽略某些文件,即使我使用add -f
?
git - 如何提交和/或添加未更改的文件?
我有一种情况,我修改的文件没有显示为修改后的文件。
我还能提交那个文件吗?
我可以将列为未更改文件的文件添加到已更改文件吗?谢谢!
更新:当我尝试添加文件时,终端给出了这样的错误:
但是当我打开我的.gitignore文件时:
和信息/排除
我非常确定我的文件夹路径及其文件名不包含在 .gitignore 和排除文件中
git - GIT 中是否有包含“git add -p”和“git checkout -p”选项的命令?
我想发出一个命令,让我以交互方式添加一个大块,丢弃一个大块或不分阶段离开大块......
实际上据我所知只有:
git add -p
: 以交互方式添加帅哥(或不上演)
git checkout -p
: 以交互方式丢弃帅哥(或不上演)
GIT 中是否有具有“git add -p”和“git checkout -p”组合选项的命令?
这里提供的这个问题的答案并不令人满意:(
git - 如何在未初始化的本地空存储库中撤消“git add -A”(同时将文件保留在我的计算机上)?
我刚开始学习 Git 和 Ruby on Rails,在我的 Windows 7 机器上的 cmd 提示符下,我不小心git add -A
在我的C:\Users\myusername
.
我的所有文件都已添加,但在 Git 上本地未跟踪。显然,我不想删除它们——它们都是我的用户文件。但是,由于它是一个空仓库,我找不到如何取消跟踪它们并清理 git。git status
和git log
响应如下。
git - 与 git-scm book 相反,Git 提交先前暂存文件的未暂存更改
本书的部分:
http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Staging-Modified-Files
说如果我更改文件 A,运行 'git add A' 然后再次更改文件 A,在此文件上运行 'git commit',则只会提交以前分段的更改。要提交未暂存的更改 - 再次添加文件,然后提交。
然而,经过一些测试,结果表明 git 提交了文件 A 的所有更改,即使是在文件最初暂存后所做的更改。
任何人都可以对这个问题有所了解吗?谢谢。
编辑:我没有使用 -a 选项看起来如果我为“git commit A”明确指定文件(我没有使用 -a 选项),它也会提交未暂存的更改。没有文件“git commit”的提交要求输入提交消息,然后按照书中描述的方式进行操作。