我git在 Windows 上使用,当我使用commit command in the command prompt, my Notepad++ opens up and asks me to put in a commit message as follows:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
Run Code Online (Sandbox Code Playgroud)
This is great, but I want to be able to separate the message title from its body. When I …
如果我更改一堆文件然后运行命令,git add .它会将所有文件都包含.gitignore在我的提交列表中。
如果我使用,git rm --chached .gitignore则它显示为deleted: .gitignore并git add .正在添加已删除的.gitignore文件
我如何忽略.gitignore自身,以便该git add .命令仅在实际文件或目录中添加我的更改。
我很惊讶我找不到关于分期/提交的性质的更彻底的解释,所以我问自己。我是 GitHub 的新手(并且没有在这台计算机上下载 Bash,所以我宁愿让人们回答)。
具体来说,假设您正在使用 GitBash 在项目目录中工作。您进行一些基本更改并保存。无需暂存或提交任何内容,即可关闭所有应用程序。您所做的更改会发生什么变化?它们会被抹去还是会留下变化?我想同样的问题适用于如果你提交了你的东西然后退出了。
“提交”是否存储在某个文件夹中?“暂存区”只是一个临时的 Bash 东西还是也有一个物理文件夹?
如果退出,是否必须重新提交更改?
谢谢您的帮助。
我在 git 上的提交消息通常如下所示:
* Fix bug abc
* Refactor xyz
* Document 123
* ...
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是一种不好的做法,我应该更喜欢单行提交消息或至少提供一个标题行。
另一方面,这写起来不太舒服......
你有什么建议?
我的一个 git repo 很大,包含以前提交的大量资产。
不知何故,我能够使用git clone <repo> --depth=1.
我想在同一个本地仓库上获得所有以前的提交。
谢谢你。
我在尝试修改提交以更改作者时遇到了此错误。
git commit --amend --author="First Last example@example.com"
Run Code Online (Sandbox Code Playgroud)
fatal: --author 'First Last example@example.com' is not 'Name <email>' and matches no existing author
Run Code Online (Sandbox Code Playgroud)
它与本文中描述的问题类似,但错误消息不同,因此很难找到解决方案。
我该如何解决这个问题?
我是新手,如果这是一个有效的问题,请原谅我。
我正在学习 git 并从这里阅读最佳实践https://acompiler.com/git-best-practices
我的问题是为什么原子提交?
如果我正在写一个故事,需要 10 天才能完成,我怎样才能在完成之前做出承诺?我有点困惑。提前感谢您的帮助。
我有一个包含许多大文件(psd、exe、pdf 等)的存储库,每次我提交这些文件的更新时,git .pack 文件都会急剧增长以保留历史记录。如何从历史记录中删除所有大于 1mb 的文件,但将它们保留在存储库中。
另外,是否可以设置特定文件从不存储在历史记录中?
我有一个feature名为的分支featureA,我是唯一正在并将接触该分支直到它合并到master分支的开发人员。
我的 git 命令历史记录是:
但它似乎没有推送到远程存储库。
git status输出:您的分支 和origin/featureA已经出现分歧,并且分别有 1 个和 1 个不同的提交。(用于git pull将远程分支合并到您的分支中)
git diff表明:我的featureA分支将被合并到master分支,所以我不想破坏历史。
我经历了几个线程(建议git pul --rebase,git reset --hard等等),但仍然不清楚什么是最好的解决方案。
我不介意解决方案将处于哪种状态。如果需要,我不介意返回到之前的推送/提交并再次将新更改作为新提交推送,因为这只是单行代码更改。
我感谢您的帮助。
我知道 GitHub 强烈建议使用消息,但我和我的兄弟一起从事半公共项目,而且我们在同一个房间工作,所以显然我们不需要对我们的承诺做出任何评论。是否有其他选项可以至少对于特定存储库/项目/文件完全禁用承诺消息?
我发现这个命令可以做出一个承诺:git commit -a --allow-empty-message -m ""它工作得很好,但我已经厌倦了每次都输入它。
更新到最新版本后,我在 Mac 操作系统中收到以下提交错误。尝试重新启动 VS Code,也尝试使用终端,但出现同样的错误。直到git add .这一步工作正常。只有提交命令无法正常工作。可能是什么问题?
git commit -m "Commit message"
.git/hooks/pre-commit: line 15: python: command not found
.git/hooks/pre-commit: line 16: python: command not found
Run Code Online (Sandbox Code Playgroud) 假设<filename>git正在跟踪,
git commit -m "message" <filename>
可以不做一个
git add <filename>?