git - pyCharm 会在 git commit 之前自动添加吗?
问题描述
我知道我们应该在做git add
之前先做git commit
。
但是,当使用 PyCharm GUI 时,在提交之前是否需要添加文件变得不清楚。这是因为当按下 PyCharm Commit按钮时,PyCharm 似乎会隐式添加文件。我这么说是因为我在按下Commit按钮(甚至没有按下 Add 按钮)后在 PyCharm 控制台中看到了这些消息:
14:39:16.099: [get-learning] git -c credential.helper= -c core.quotepath=false -c log.showSignature=false add --ignore-errors -A -f -- main.py
14:39:16.106: [get-learning] git -c credential.helper= -c core.quotepath=false -c log.showSignature=false commit -F /private/var/folders/wy/sn6rs9nj1bd3bsk6p66gmwr40000gn/T/git-commit-msg-.txt --
我不是 Git 专家,但我可以看到第一个命令是一个add
命令。
这是否意味着 PyCharm 在提交之前会自动添加文件,并且我不需要在按下 PyCharm 中的 Commit 按钮之前按下 Add 按钮?
解决方案
是的,pyCharm 自动添加
即使没有,添加仍然是提交的基本部分。
我知道我们应该在做
git add
之前先做git commit
。
好吧,有时我们必须这样做,但这在 pyCharm 中无关紧要,更多的是一般的 Git 主题。
在您的情况下,您正在添加:git ... add .. file.txt
. 你应该用两个单独的动作来做吗?好吧,这并没有太大区别,因为您正在执行相同的命令,不是吗?
为了在 Git 中提交,您总是必须先添加(添加到索引,或者暂时绕过索引并使用临时索引 - 见下文),然后提交。如果您不觉得这就是您正在做的事情,那么界面会为您掩盖这一点 - 这在大多数 IDE 中相当常见,但不是您的情况。
你真的总是必须在提交之前添加吗?
正如马特正确指出的那样,人们可能会调用git commit ... <pathspec>
. 从文档:
<pathspec>
... 当在命令行中给出 pathspec 时,提交与 pathspec 匹配的文件的内容,而不记录 已经添加到 index 的更改。这些文件的内容也会在之前暂存的内容之上暂存以供下一次提交。
斜体我的。基本上,这会创建一个提交,而不是从暂存区域获取内容,而是使用您刚刚提供的文件。感谢 matt,在这里查看更多。因此,最终,不,您不必严格添加,但 Git 必须在提交之前生成索引和暂存文件。所以 Git 正在添加,不管你喜欢与否。
推荐阅读
- r - 在 R 中取消列出字符串并粘贴/连接
- python - 决策树算法实现
- python - 学习python,来自有效讲师的正确示例文件。第一次处理它,追加和弹出命令在我的电脑上不起作用
- scala - 如何更正 Scala 构造函数的错误参数?
- python - Matplotlib.savefig 忽略轴并在图像周围绘制黑色边框
- angularjs - 仅从另一页上的选定项目接收数据
- python-3.x - 嵌套 if 语句与多个扁平 if not 语句之间的性能
- javascript - 在vuejs2的js文件中导入js模块
- python - 如何更改 Python 中导入的数据的列值
- optimization - LoadError 使用近似贝叶斯标准