标签: git-commit

从Git历史记录中删除敏感文件及其提交

我想在GitHub上放置一个Git项目,但它包含某些带有敏感数据的文件(用户名和密码,比如/ config/deploy.rb for capistrano).

我知道我可以将这些文件名添加到.gitignore,但这不会删除他们在Git中的历史记录.

我也不想通过删除/.git目录重新开始.

有没有办法删除Git历史记录中特定文件的所有痕迹?

git git-filter-branch git-commit git-rewrite-history

330
推荐指数
9
解决办法
10万
查看次数

在Git中编辑root提交?

有办法从以后的提交中更改消息:

git commit --amend                    # for the most recent commit
git rebase --interactive master~2     # but requires *parent*
Run Code Online (Sandbox Code Playgroud)

如何更改第一次提交(没有父级)的提交消息?

git git-rebase git-amend git-commit git-rewrite-history

307
推荐指数
4
解决办法
4万
查看次数

在git中最后一次提交后重置所有更改

如何撤消上次提交后对目录所做的每次更改,包括删除添加的文件,重置已修改的文件以及添加已删除的文件?

git git-revert git-reset git-commit

305
推荐指数
2
解决办法
14万
查看次数

修复Gilab错误:"您不能将代码推送到此项目的受保护分支"?

当我在我的项目中有开发人员访问权限时将代码推送到git时出现问题,但是当我有主访问权限时一切正常.问题出在哪里?以及如何解决它?

错误信息:

错误:您不能将代码推送到此项目的受保护分支.
...
错误:未能推送一些参考...

branch git-push git-add git-commit gitlab

295
推荐指数
5
解决办法
23万
查看次数

VIM for Windows - 我输入什么来保存和退出文件?

使用WinXP我意外地输入git commit -a而不是git commit -am "My commit message",现在我正在查看我的CMD提示符,其中填写了我的提交消息的文件版本("请输入您的提交消息...").我已将消息添加到顶部,但现在我无法弄清楚如何保存和离开.我试着按CTRL+ W+ Q,但它没有做什么,只是添加^光标所在的位置.

esc先尝试过,然后是CTRL+ W+ Q,但它说No write since last change (add ! to override).

git vim windows-xp git-commit

258
推荐指数
6
解决办法
15万
查看次数

为什么'git commit'没有保存我的更改?

我这样做了git commit -m "message":

> git commit -m "save arezzo files"
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)

但之后,当我这样做git status时显示相同的修改文件:

> git status
# On branch master
# Changes not …
Run Code Online (Sandbox Code Playgroud)

git version-control git-commit

250
推荐指数
6
解决办法
28万
查看次数

我如何只提交一些文件?

我有两个项目.一个是"官方"项目,第二个是轻微修改(添加了一些文件).我创建了新分支,并将新文件添加到它们中.但在开发过程中,两个分支共有的一些文件会发生变化.

我如何只提交这些文件?

git git-commit git-branch

234
推荐指数
6
解决办法
32万
查看次数

如何在`git push`之后在本地和远程上撤消`git commit`

我演出git commit后跟着一个git push.如何在本地和远程存储库上还原该更改?

$ git log
commit 364705c23011b0fc6a7ca2d80c86cef4a7c4db7ac8
Author: Michael Silver <Michael Silver@gmail.com>
Date:   Tue Jun 11 12:24:23 2011 -0700
Run Code Online (Sandbox Code Playgroud)

git git-push git-commit

226
推荐指数
5
解决办法
12万
查看次数

将空提交推送到远程

我已将一个提交推送到远程,但现在我意识到提交消息不正确.我想更改提交消息,但AFAIK是不可能的.所以我决定使用正确的消息创建空提交:

git commit --allow-empty
Run Code Online (Sandbox Code Playgroud)

推送空提交有什么缺点/后果吗?由于这个空提交,我将来可能遇到任何问题吗?

git git-commit

212
推荐指数
5
解决办法
11万
查看次数

我如何在过去做一个Git提交?

我将所有内容转换为Git供我个人使用,我发现存储库中已有一些旧版本的文件.如何根据文件的"修改日期"以正确的顺序将其提交到历史记录,以便我有一个准确的文件历史记录?

我被告知这样的事情会起作用:

git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all  
Run Code Online (Sandbox Code Playgroud)

git version-control repository git-commit

204
推荐指数
12
解决办法
9万
查看次数