相关疑难解决方法(0)

为什么我必须在更改提交消息后强制推送?

我读到有关如何修改提交消息的内容.接受的答案是:

如果您已经将提交推送到远程分支,那么您需要强制推送提交git push <remote> <branch> --force.

这是我的理解(也来自已接受的答案)git push --force将覆盖远程分支上的所有数据与本地数据.

为什么在更改提交消息后强制推送是必要的?如果我修改提交消息并试图在没有-f或者推送的情况下会发生什么--force

git push git-push

7
推荐指数
1
解决办法
4059
查看次数

Git:删除一个远程修订版

我已经开始将我的私有subversion项目转换为git(Github)并将代码发布给公众.因此,我是一个git新手.

不幸的是,有一个包含机密数据的项目的修订版.修订版没有标记,我只知道它的哈希值.

有没有办法从远程git存储库中完全删除该特定修订?这是一个独立项目,所以没有人会受到伤害.

git github

6
推荐指数
1
解决办法
3503
查看次数

如何更改旧(本地)提交的消息?

我的提交看起来像这样:

alex@alex-M52AD-M12AD-A-F-K31AD:~/node/project$ git log
commit 050e4417634300e724b8e0c29bb8b7a240a9a996
Author: alexcheninfo <alexchen.info@gmail.com>
Date:   Fri Feb 12 12:55:38 2016 +0800

    Rename documents

commit 637bd5ac976118d7e0fb3bf5f2bab950ce0ebb66
Author: alexcheninfo <alexchen.info@gmail.com>
Date:   Fri Feb 12 11:29:01 2016 +0800

    Make sidenav a component
Run Code Online (Sandbox Code Playgroud)

我想更改提交消息Make sidenav a component.我想使用git -ammend但我认为它只能用于更改上次提交的消息?

git

6
推荐指数
1
解决办法
2577
查看次数

是否可以在过去的提交中运行git commit-msg钩子?

我有一个commit-msg钩子,我为所有本地提交运行,对于某个项目,我需要运行.问题是,当我从其他叉子拉进来时,我的一些同胞没有运行这个commit-msg钩子.到目前为止,我一直在做

$ git rebase --interactive $commit_parent
Run Code Online (Sandbox Code Playgroud)

作为概括非常相似这里.选择未正确完成的提交,重新编辑等.一切都非常可行,但我手工做的也很乏味.

我该如何自动化?钩子不需要疏忽.

git

5
推荐指数
1
解决办法
893
查看次数

有没有办法在git中更改特定提交的提交消息?

我想更改我之前做过的提交的提交消息并推送到origin/master.现在我已经完成了几次提交和推送.有没有办法更改第二个最后一个或第三个最后一次推送的提交消息?

git

5
推荐指数
0
解决办法
213
查看次数

使用SHA ID修改旧提交的评论消息

假设我有3次提交:

Added bar.txt     (3)
Second Commit     (2)
Initial Commit    (1)
Run Code Online (Sandbox Code Playgroud)

如何(2)通过使用其SHA ID 更改提交消息?提交尚未推送到远程存储库。

我试过了: git commit --amend -m "Added foo.txt" 8457931

8457931 是SHA ID的前7个数字。

为什么不是重复的原因:与链接的问题不同,我问如何通过使用SHA ID指向我想要更改的提交来更改提交消息。

git commit

5
推荐指数
1
解决办法
161
查看次数

如何将文件添加到上次本地提交?

有时我忘记在提交之前添加一些文件。使用 Mercurial 我这样修复它:

  1. hg qinit
  2. 将提交转换为补丁
  3. 更新补丁
  4. 将补丁转换为提交

我可以用 Git 做这样的事情吗?

git

5
推荐指数
1
解决办法
129
查看次数

Git修改/改写(不添加/更改文件)

通常我想编辑提交消息,而不必重新选择上次提交的文件集.

git commit file1.c file2.c
Run Code Online (Sandbox Code Playgroud)

提交消息中的意外错误.

git commit file1.c file2.c --amend
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我不想重新选择原始提交中的文件集,我曾经偶然做过git commit -a --amend并无意中添加了许多更改.

我知道git rebase -i HEAD~1然后替换pickr(重新单词),但这最终只是几个步骤.

有没有办法在不包含任何新文件的情况下一步重写最后一次提交?

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

4
推荐指数
1
解决办法
668
查看次数

在Rstudio中撤消git commit,它太大而无法推送

我对github非常陌生,并试图将其首次纳入我的工作。我在RStudo中工作,使用gui中的commit和push按钮。我将一些数据放在要处理的计算机上的文件夹中。我进行了几次提交,然后提交了该数据,然后又进行了几次提交。然后,我尝试将整个内容推送到github。但是,我收到一条错误消息:

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.        
remote: error: Trace: f4a84c3a176d2c77039d041a21c0c455        
remote: error: See http://git.io/iEPt8g for more information.        
remote: error: File S_Fulltaxonomy.csv is 158.06 MB; this exceeds GitHub's file size limit of 100.00 MB        
To git@github.com:moanam/paper.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:moanam/paper.git'
Run Code Online (Sandbox Code Playgroud)

现在,我的分支比原始/主节点提前10次提交,而问题提交在中间某个地方。

我一直在寻找解决方案,并在Git历史记录的中间发现了诸如undo commit的帖子 , 如何修改现有的未推送的提交? 以及 当我的分支比master领先5次提交时如何删除提交中的太大文件

但是,解决方案是一行代码,其中原始请求者应替换几个单词并在某个地方运行。我真的很陌生,不知道在哪里运行所有这些代码,替换什么以及如何查找和更改问题,这些都提交到我的工作中。我该怎么做呢?还是在RStudio中有基于GUI的撤消提交的版本?还是有人可以确切解释如何使用代码?

我知道这可能是一个非常简单的问题,很抱歉浪费您的时间。但是,我确实已经花了相当长的时间寻找,找不到适合我使用的任何简单方法!总是假设有太多的知识。谢谢你的帮助!

git r github git-commit git-rewrite-history

4
推荐指数
3
解决办法
2819
查看次数

更改未删除的上一个git commit消息

如何更改以前未刷新的git提交消息?

更新: 问题急剧减少,以适应答案.要查看完整内容.看历史.

这样做的正确方法是什么?谢谢.

git

4
推荐指数
1
解决办法
1432
查看次数

标签 统计

git ×10

git-commit ×2

git-rewrite-history ×2

github ×2

commit ×1

git-amend ×1

git-push ×1

push ×1

r ×1