相关疑难解决方法(0)

如何修改现有的,未删除的提交?

我在提交消息中写了错误的东西.或者,我忘了包含一些文件.

如何更改提交消息/文件?提交尚未被推送.

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

7669
推荐指数
27
解决办法
246万
查看次数

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

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

错误信息:

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

branch git-push git-add git-commit gitlab

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

如何在git中编辑不正确的提交消息(我已推送)?

我想在历史记录中更深层次地修改提交消息,并且我已经推送了许多新的提交.

如何更改提交消息?可能吗?

git commit-message

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

git rebase而不更改提交时间戳

git rebase在保留提交时间戳的同时执行是否有意义?

我相信结果是新分支不一定按时间顺序排列日期.这在理论上是否可行?(例如使用管道命令;只是好奇这里)

如果理论上可行,那么在实践中是否可以使用rebase,而不是更改时间戳?

例如,假设我有以下树:

master <jun 2010>
  |
  :
  :
  :     oldbranch <feb 1984>
  :     /
oldcommit <jan 1984>
Run Code Online (Sandbox Code Playgroud)

现在,如果我重新oldbranch启动master,则提交日期将从1984年2月更改为2010年6月.是否可以更改该行为以便不更改提交时间戳?最后我会得到:

      oldbranch <feb 1984>
      /
 master <jun 2010>
    |
    :
Run Code Online (Sandbox Code Playgroud)

那会有意义吗?甚至允许在git中有一个旧提交最近提交作为父项的历史记录?

git timestamp git-rebase

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

git push --force-with-lease vs. --force

我试图了解它们之间的区别

git push -f
Run Code Online (Sandbox Code Playgroud)

git push --force-with-lease
Run Code Online (Sandbox Code Playgroud)

我的猜测是,如果遥控器没有本地分支没有的提交,后者只会推送到遥控

如果有更好的方式来表达问题,lmk,但希望它很清楚.

git git-push

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

意外推送提交:更改git提交消息

在我的本地仓库中,我有一个提交错误的提交消息.

我已经发布了错误的提交消息git push.

现在远程仓库(GitHub托管)也有不正确的提交消息.

我已经尝试了git commit --amend,但发现在这种情况下它对我不起作用,因为我已经做了额外的提交,因为不正确的提交.

你会如何解决这种情况?

git git-amend git-commit

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

如何在bitbucket中更改git commit消息

我需要在BitBucket中更改旧的git commit消息.我尝试git rebase -i并重新编写了我的消息,但是当我拉动并提交它时,它只保留了BitBucket中的旧消息并合并了我的更改.

git bitbucket

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

我想更改上一次提交的 Git 提交消息

我想更改之前推送的提交消息。此外,在那之后我还推送了其他提交。如果我更改提交消息,旧消息将显示在 Git 提交历史记录中。

git

15
推荐指数
3
解决办法
2万
查看次数

如何在Git上重新推送固定提交?

我修复了一些代码并用不正确的提交消息推送它.当我试图修复提交消息时,我意外地恢复了提交.现在的情况是:

  • 最新的commit =正确的提交消息,但先前提交的更改已撤消
  • previous commit =正确的提交内容,但错误的提交消息

所有这些都已被推送到服务器.

我想摆脱最新的提交,更改上一次提交的提交消息并将其推回服务器.

我对Atlassian Source Tree的解决方案很满意,但命令行也没问题.

git bitbucket-server

3
推荐指数
1
解决办法
5349
查看次数

在git rebase中输入VIM时如何开始输入?

使用Powershell 5时,当我键入git rebase -i <sha>vim时,我会在他们的选择行上获得一个提交列表.

移动插入到任何那些行的开始和改变挑squash,s,fixup,f等似乎最初阻止.看起来应该随机点击光标键,输入随机字符,最终vim允许按照我的意图输入文本.

什么是vim在这里做什么,它只是一个选项?你怎么阻止它?

[编辑]我意识到vim的初始模式可能不是我正在寻找的模式,但是我不确定如何检查,更改它或任何相关的模式.如果输入时输入的vim的初始模式git rebase...确实需要更改,那么这个问题的一个好答案就是如何在vim启动后更改该模式.

git vim powershell rebase

3
推荐指数
2
解决办法
1179
查看次数

如何更改被推送的git提交的名称?

我有一个提交被推送到遥控器,我想改变它的消息.

我知道我可以使用git push -f强制推送不同的提交但首先我需要删除旧提交并保持更改,所以我可以再次提交.

我怎样才能做到这一点?

git push rename commit

0
推荐指数
1
解决办法
1562
查看次数

在Git中推送到远程后如何更改提交消息

我添加了错误的提交消息,并推送到Gitlab中的服务器。现在我想更改提交消息。推送到服务器后是否可以更改提交消息?

git github gitlab

0
推荐指数
1
解决办法
5305
查看次数

10条GIT线从我的电脑上擦除8Gb - 如何让它们恢复?

我是GIT的初学者,并不知道这个程序有多强大......我从几个命令中删除了8 Gb.
我记得我输入了以下几行:

$git config --global user.name "my name"
$git config --global user.email "my email"
$git add *.c
$git commit -m
$git status
Run Code Online (Sandbox Code Playgroud)

然后我看到很多文件被跟踪和未跟踪,我试图删除它们(从git).我不知道我会从我的电脑上删除它们.所以我做了以下事情:

$git rm
$git rm --cached *.c
Run Code Online (Sandbox Code Playgroud)

这样我删除了所有跟踪的文件.所以我继续说:

$git clean -f
$git clean -f -d
$git clean -f -x
$git clean -d -x -n
Run Code Online (Sandbox Code Playgroud)

这样我删除了一些未跟踪的文件,系统没有使用的文件(我使用的是Windows).现在这就是我所拥有的:

$git status
On branch master
Initial commit
Untracked files:
 (use "git add <file>..." to include in what will be commited)
 .gitconfig
 AppData/
 Desktop/
 Favourites/
 NTUSER.DAT
 NTUSER.DAT{some characters and numbers}
 ntuser.dat.LOG1
 ntuser.dat.LOG

$git …
Run Code Online (Sandbox Code Playgroud)

git recovery

-1
推荐指数
1
解决办法
3849
查看次数