阶段和提交更改
基础
在修改源代码后,你应该舞台 Git 的这些变化,然后才能提交它们。
例如,如果你更改 README.md
和 program.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 add
和 git 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.git
从 passwords.txt
文件中读取密码,并将其替换为***REMOVED***
。此操作考虑整个存储库的所有先前提交。