我克隆了我的存储库:
git clone ssh://xxxxx/xx.git
Run Code Online (Sandbox Code Playgroud)
但之后,我改变了一些文件,并add
与commit
他们,我想他们推到服务器:
git add xxx.php
git commit -m "TEST"
git push origin master
Run Code Online (Sandbox Code Playgroud)
但我得到的错误是:
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
Run Code Online (Sandbox Code Playgroud) 我不小心修改了我以前的提交.提交应该是独立的,以保留我对特定文件所做更改的历史记录.
有没有办法撤消最后一次提交?如果我这样做git reset --hard HEAD^
,第一次提交也会撤消.
(我还没有推到任何远程目录)
我做了一个git提交和随后的推送.我想更改提交消息.如果我理解正确,这是不可取的,因为有人可能在我进行此类更改之前从远程存储库中取出.如果我知道没有人拉过怎么办?
有没有办法做到这一点?
我有一个git存储库,如下所示:
A -> B -> C -> D -> HEAD
Run Code Online (Sandbox Code Playgroud)
我希望分支的头部指向A,即我希望B,C,D和HEAD消失,我希望头部与A同义.
听起来我可以尝试改变(不适用,因为我推动了之间的变化),或者还原.但是如何恢复多个提交?我一次还原一个吗?订单重要吗?
我已经对不同的文件做了几次提交,但到目前为止,我想将我的远程存储库推送到特定的提交.
那可能吗?
如何修改现有的,未删除的提交的答案?描述了一种修改先前尚未向上游推送的提交消息的方法.新消息继承原始提交的时间戳.这似乎合乎逻辑,但有没有办法重新设定时间?
有时我会在工作目录中进行一些更改,并且我意识到这些更改应该在与当前更改的分支中提交.这通常发生在我想尝试新事物或进行一些测试时,我忘记事先创建一个新分支,但我不想将脏代码提交给主分支.
那么,如何将未提交的更改(或存储在索引中的更改)提交到与当前更改不同的分支?
我运行了"git status",下面列出了一些被修改的文件/或标题为"未提交更改的更改"标题.它还列出了一些我想忽略的未跟踪文件(我在这些目录中有一个".gitignore"文件).
我想将修改后的文件放在暂存中,以便我可以提交它们.当我运行"git add."时,它将修改后的文件和我想忽略的文件添加到登台.
如果使用下面的git状态显示,如何仅添加已修改的文件并忽略未跟踪的文件.
另外,我的".gitignore"文件是否正常工作?
$ git status
# On branch addLocation
# 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: someProject/path/domain/viewer/LocationDO.java
# modified: someProject/path/service/ld/LdService.java
# modified: someProject/path/service/ld/LdServiceImpl.java
# modified: someProject/path/web/jsf/viewer/LocationFormAction.java
# modified: someProject/war/WEB-INF/classes/message/viewer/viewer.properties
# modified: someProject/war/page/viewer/searchForm.xhtml
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .metadata/ …
Run Code Online (Sandbox Code Playgroud) 有没有办法修改提交没有vi
(或你$EDITOR
)弹出修改提交消息的选项,但只是重用前一条消息?