我在提交消息中写了错误的东西.或者,我忘了包含一些文件.
如何更改提交消息/文件?提交尚未被推送.
当我在我的项目中有开发人员访问权限时将代码推送到git时出现问题,但是当我有主访问权限时一切正常.问题出在哪里?以及如何解决它?
错误信息:
错误:您不能将代码推送到此项目的受保护分支.
...
错误:未能推送一些参考...
我想在历史记录中更深层次地修改提交消息,并且我已经推送了许多新的提交.
如何更改提交消息?可能吗?
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 push -f
Run Code Online (Sandbox Code Playgroud)
和
git push --force-with-lease
Run Code Online (Sandbox Code Playgroud)
我的猜测是,如果遥控器没有本地分支没有的提交,后者只会推送到遥控器?
如果有更好的方式来表达问题,lmk,但希望它很清楚.
在我的本地仓库中,我有一个提交错误的提交消息.
我已经发布了错误的提交消息git push.
现在远程仓库(GitHub托管)也有不正确的提交消息.
我已经尝试了git commit --amend,但发现在这种情况下它对我不起作用,因为我已经做了额外的提交,因为不正确的提交.
你会如何解决这种情况?
我需要在BitBucket中更改旧的git commit消息.我尝试git rebase -i并重新编写了我的消息,但是当我拉动并提交它时,它只保留了BitBucket中的旧消息并合并了我的更改.
我想更改之前推送的提交消息。此外,在那之后我还推送了其他提交。如果我更改提交消息,旧消息将显示在 Git 提交历史记录中。
我修复了一些代码并用不正确的提交消息推送它.当我试图修复提交消息时,我意外地恢复了提交.现在的情况是:
所有这些都已被推送到服务器.
我想摆脱最新的提交,更改上一次提交的提交消息并将其推回服务器.
我对Atlassian Source Tree的解决方案很满意,但命令行也没问题.
使用Powershell 5时,当我键入git rebase -i <sha>vim时,我会在他们的选择行上获得一个提交列表.
移动插入到任何那些行的开始和改变挑squash,s,fixup,f等似乎最初阻止.看起来应该随机点击光标键,输入随机字符,最终vim允许按照我的意图输入文本.
什么是vim在这里做什么,它只是一个选项?你怎么阻止它?
[编辑]我意识到vim的初始模式可能不是我正在寻找的模式,但是我不确定如何检查,更改它或任何相关的模式.如果输入时输入的vim的初始模式git rebase...确实需要更改,那么这个问题的一个好答案就是如何在vim启动后更改该模式.
我有一个提交被推送到遥控器,我想改变它的消息.
我知道我可以使用git push -f强制推送不同的提交但首先我需要删除旧提交并保持更改,所以我可以再次提交.
我怎样才能做到这一点?
我添加了错误的提交消息,并推送到Gitlab中的服务器。现在我想更改提交消息。推送到服务器后是否可以更改提交消息?
我是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)