嗨,我正在使用Github将一些文件从我的本地服务器推送到我的Github存储库.我不小心在提交中包含了一个500Mb的视频文件,我认为这完全搞砸了add/commit/push.
具体来说,我的命令push就像这样停顿:
git push -u myGithubRepository master
Counting objects: 52, done.
Delta compression using up to 4 threads.
Compressing objects: 97% (36/37)
Run Code Online (Sandbox Code Playgroud)
这已经很多个小时了,仍然停滞不前.
我想提交我做的所有其他更改,所以我不想回复到我的Github存储库中的内容.我只是想解决这个冲突.我是Git新手所以请你放轻松.
谢谢,蒂姆
我不得不用命令在Git中返回六次提交
git checkout idofthecommit
Run Code Online (Sandbox Code Playgroud)
我一直在做的是继续提交,提交,提交.因为我没有创建真正的新分支,所以当我git推送到外部存储库时
git push origin master
Run Code Online (Sandbox Code Playgroud)
它告诉我一切都是最新的.
这意味着我实际上没有对主人做任何改变.
我如何将我一直在做的提交移动到主分支?
如果开发人员正确标记if(例如#Refs或#Fixes),我们将Redmine设置为自动链接提交与相关问题.但是,我们有一些提交被推送到没有这些标签的远程仓库,我们现在希望连接它们.我们应该怎么做?
我已经成功地将提交消息弄糟,当我读回来时,即使我无法解决所说的内容!
此提交尚未推送,我知道可以使用以下命令更改消息:
git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)
(感谢这篇文章)
但是,我正在使用GitHub for Windows GUI.那么有没有办法让我在不跳进PowerShell的情况下更改提交消息?
我有即两个仓库A和B.错误地,我在我的机器上克隆了A里面的回购B. 我从repo B中删除了所有代码但是当我从A上推送并合并我的代码时,它还显示了BGithub repo上的子项目提交.
我想从我的master上删除子项目提交.这些步骤会起作用吗?
1. rmdir B (on my local repo A)
2. Pushing my repo A to origin
3. Merging
我写了一个不正确的提交消息,我把它推到了遥控器上.有很多问题已经解决了这个问题:
只是一对.但是他们似乎都终止了git push --force,并且关于为什么这是一个坏主意的额外警告 - 它编辑了历史,这意味着使用存储库的每个人在尝试拉动时都会受到影响.他们似乎并没有说"正确"的事情是什么.
那么处理这种情况的建议或"正确"方法是什么?我以为我可以添加额外的消息git commit --allow-empty,但据说有" 很少有理由这样做 ".为--allow-empty确实解决的事情以正确的方式?如果没有,什么是正确的做法?
注意:以"正确的方式"做事可能涉及"承认我搞砸了".作为我正在寻找的一个例子,该git tag手册页讨论了重复推送标签.它清楚地讨论了重新标记错误标记的提交的方法,给出了推荐的行动方案和一种--force做事方式.
假设我在一个名为的个人分支机构工作feature。
git reset --hard回去提交3。-f)。这是安全的做法,还是会导致师父有任何问题?我将需要合并feature到master最终。
我不确定是否正确提交并将package.JSON文件中的更改推送到存储库中。据我了解,git中的其他人可以通过执行以下命令来安装新的依赖项:npm install并相应地更新其包.JSON也将更新。或者,此文件实际上表明了新的依赖项并需要推送也一样 如果有人能澄清我的话,那就太好了。:)
想象一下,每次提交文件时,在推送文件之前,我都会列出要检查的文件。我该怎么办?
我试过了:
git ls-tree -r --name-only master
git ls-files -stage
Run Code Online (Sandbox Code Playgroud)
如果我编辑一个文件,add那么commit它。如果尝试上述代码,它将显示我的所有文件。
我只想列出将在当前提交时推送的文件。
如何通过以下命令确定阻止提交被git修剪的内容?
git reflog expire --expire=now --all
git gc --prune=now
Run Code Online (Sandbox Code Playgroud)
细节
我想XYZ从我的克隆中完全删除提交(例如,提交哈希).如果以上不是正确的命令(或者如果以下任何命令/扣除不正确),请告诉我.
我知道XYZ在运行上面的剪枝后仍然在我的克隆中,因为以下内容返回日志列表:
git log XYZ
Run Code Online (Sandbox Code Playgroud)
我知道这XYZ不在任何分支中,因为以下输出没有:
git branch --contains XYZ
Run Code Online (Sandbox Code Playgroud)
我认为这XYZ不是任何存储因为以下输出没有:
git stash list
Run Code Online (Sandbox Code Playgroud)
XYZ然而,实际上是在藏匿,但git bug阻止了藏匿列表.
git-commit ×10
git ×9
github ×3
git-push ×2
commit ×1
dependencies ×1
git-amend ×1
git-branch ×1
git-checkout ×1
git-gc ×1
git-reflog ×1
npm ×1
package.json ×1
redmine ×1
repository ×1
subproject ×1