使用Git仅检查更改,而不创建历史记录

时间:2018-06-17 09:30:02

标签: git

是否可以通过以下方式使用Git?

  1. 在目录结构中有一些文件被Git认为是干净的。
  2. 更改一些文件。使用git diff查看更改。根据需要重复此步骤。
  3. 最后,让Git将步骤2中的更改视为"清理",而不创建历史记录
  4. 无限重复步骤2-3。
  5. 这仅适用于本地,单用户使用,只有这样才能使事情变得更容易。

4 个答案:

答案 0 :(得分:2)

默认情况下,

git diff仅将工作目录与当前索引(暂存区域)进行比较。因此,您可以做的只是添加您想要保留的更改而不实际提交。这样,git diff只会获取您尚未上传的更改,但实际上您并不需要创建提交。

唯一的“缺点”是Git在技术上不会认为这是“干净”,而git status仍然会显示所有上演的变化。

答案 1 :(得分:1)

所以你只需要一次提交。

第1步,

git add .
git commit -m foo

第2步,

#modify the files
git diff

第3步,

git add .
git commit --amend --no-edit

在第3步之后,您仍然只有一次提交。

如果您需要将只有一次提交的分支推送到远程存储库进行备份。

git push <remote> -f <branch>

在这种情况下,始终使用-f强制更新远程分支。

答案 2 :(得分:0)

git reset --soft HEAD

git add --all

git commit -m "..."

由于我们覆盖历史记录,因此提交需要-f:

git push -f

答案 3 :(得分:0)

如果您的目的是隐藏更改的历史记录(因为您担心会进行许多尝试和错误提交,或者因为您更喜欢manay小型提醒),还有其他解决方案。

  • 创建分支。

  • 根据需要随时提交您的分支机构。

  • 不要反向提交错误。只需修复下次提交中的错误。

  • 当您准备好并希望所有提交都显示为历史记录中的单个提交时,您可以在合并期间使用壁球,或者您可以使用 reset --soft 如上所述。