阶段和提交更改

基础

在修改源代码后,你应该舞台 Git 的这些变化,然后才能提交它们。

例如,如果你更改 README.mdprogram.py

git add README.md program.py

这告诉 git 你要将文件添加到你做的下次提交中。

然后,使用提交更改

git commit

请注意,这将打开一个文本编辑器,通常 vim 。如果你不熟悉 vim,你可能想知道你可以按 i 进入插入模式,写下你的提交信息,然后按 Esc:wq 保存并退出。要避免打开文本编辑器,只需在你的消息中包含 -m 标志即可

git commit -m "Commit message here"

提交消息通常遵循一些特定的格式规则,有关详细信息,请参阅好提交消息

快捷键

如果你更改了目录中的大量文件,而不是列出其中的每个文件,则可以使用:

git add --all        # equivalent to "git add -a"

或者从顶级目录和子目录添加所有更改,不包括已删除的文件

git add .

或者只添加当前跟踪的文件(更新):

git add -u

如果需要,请查看分阶段的更改:

git status           # display a list of changed files
git diff --cached    # shows staged changes inside staged files

最后,提交更改:

git commit -m "Commit message here"

或者,如果你只修改了现有文件或删除了文件,并且没有创建任何新文件,则可以在单个命令中组合 git addgit commit 的操作:

git commit -am "Commit message here"

请注意,这将以与 git add --all 相同的方式暂存所有已修改的文件。

敏感数据

你永远不应提交任何敏感数据,例如密码甚至私钥。如果发生这种情况并且已将更改推送到中央服务器,请将任何敏感数据视为已泄露。否则,之后可以删除这些数据。一种快速简便的解决方案是使用“BFG Repo-Cleaner”: https//rtyley.github.io/bfg-repo-cleaner/

命令 bfg --replace-text passwords.txt my-repo.gitpasswords.txt 文件中读取密码,并将其替换为***REMOVED***。此操作考虑整个存储库的所有先前提交。