相关疑难解决方法(0)

如何修复错误的合并,并将您的好提交重放到固定合并?

我意外地将一个不需要的文件(filename.orig在解析合并时)提交到我的存储库几个提交之前,直到现在我才注意到它.我想从存储库历史记录中完全删除该文件.

是否可以重写更改历史记录,以便filename.orig从未首先添加到存储库中?

git git-filter-branch git-rewrite-history git-rm

399
推荐指数
6
解决办法
30万
查看次数

如何强制将重置推送到远程存储库?

我们的远程主分支不知怎的搞砸了.当前开发代码与最新提交一起在主分支上.显然,开发代码还没有为主分支做好准备.

所以在我的本地存储库中,我重置了最新的标记,git reset --hard (Tag).现在主分支在我的本地存储库上是正确的.现在,当我尝试将更改推送到远程存储库时git push origin master,我收到一个错误:

To (REMOTE GIT REPOSITORY LOCATION)
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '(REMOTE GIT REPOSITORY LOCATION)'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

所以环顾四周之后,我发现了这个--force选项.所以我强行推进了远程存储库,git push --force origin master我仍然遇到错误:

Total 0 (delta 0), reused …
Run Code Online (Sandbox Code Playgroud)

git

91
推荐指数
4
解决办法
8万
查看次数

Git 从所有提交中删除文件

我犯了一个“小”错误,并向我的本地存储库添加了一个“小”(> 100MB)文件。

两次提交后,我尝试推送到 github 中的远程存储库,该存储库的限制为 100MB。

我可以使用 删除当前提交中的文件git rm --cached,但它仍在之前的提交中。

如何从所有提交中删除该文件?我已经尝试过这个关于 git filter-branch 的答案,但不适合我的。

git github git-rm

9
推荐指数
1
解决办法
3519
查看次数

如何从合并请求中删除跟踪文件

我已提交一些文件并将其推送到远程功能分支并创建了合并请求。我用了

git commit -a -m "blah blah"
git push
Run Code Online (Sandbox Code Playgroud)

所以它推送了所有修改的文件。其中一个文件(主文件中的现有文件)不应被推送(例如可执行文件)。如何从合并请求中删除此文件,以便当 MR 合并到 master 时,不需要的文件不会被合并(就好像它从未存在于 MR 中一样)。我发现此页面提到了以下命令

git rm {filename} --cached
git commit -m "[...]"
git push
Run Code Online (Sandbox Code Playgroud)

我尝试了这些命令,但没有看到 Gitlab 的合并请求中删除的文件。这是正确的做法吗?

更新1:

deleted通过上述命令,我可以看到上面提交中提到的文件。但是当我将更新的 MR 合并到 master 中时,该文件也会从 master 中删除。

更新2:

删除了导致混乱的句子并更新了标题

git gitlab

9
推荐指数
1
解决办法
2万
查看次数

git 从第一次提交中删除文件

所以这个问题不是这个问题:尽管它很相似,但从 Git 提交中删除文件

我处于无法做到的情况:

git reset --soft HEAD~1
Run Code Online (Sandbox Code Playgroud)

因为我是第一次提交。

我想知道如何从我的提交中删除文件,因为我无法回溯。

git

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

".gitignore"文件中应该忽略哪些项目文件?

我创建了我的第一个git存储库并尝试将Spring Boot项目.

在最初的git要求配置".gitignore"文件,但我不确定哪些文件必须(应该),所以我忽略了?

在我的第一次提交推送中,我看到了几个文件APART FROM pom.xml和我的一些.java文件,比如

.classpath
.gitignore
.project
.settings/org.eclipse.core.resources.prefs
.settings/org.eclipse.jdt.core.prefs
.settings/org.eclipse.m2e.core.prefs
Run Code Online (Sandbox Code Playgroud)

我不确定他们为什么在这里?
他们应该在那里吗?

如何以及在何处创建.gitignore文件?

git github repository maven spring-boot

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

如何在交互式变基期间取消暂存文件(从旧提交中删除文件)?

我在Pro Git书中读到过有关交互式变基以更改多个提交的内容。所以我正在做git rebase HEAD~3,改变了我想修改的一项edit。然后我就可以通过更改消息了git commit --amend。并添加了一个文件,git add file3之后git commit --amend开始输出“3 个文件已更改”而不是之前的“2​​ 个文件”。但如何删除文件呢?为什么既不工作git restore --staged file1也不git reset HEAD file1工作?(输出 git commit --amend仍然是“3 个文件已更改”,并且输出git log --patch仍然显示file1带有最近修改的提交消息的提交)。

我使用网络搜索并阅读了什么是 `git Restore` 命令以及 `git Restore` 和 `git Reset` 之间的区别是什么?(如上所示,尝试了restorereset),从 Git 提交中删除文件(谈论上次提交),删除旧提交中提交的文件(据我所知,git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch <path_to_file>" HEAD从分支中的所有提交中删除文件)。

还有没有被赞成的答案删除对旧的、已推送的 git …

git

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

git - 如何从当前提交中删除太大的文件

当我执行以下操作时:

git add *
git commit -m "msg"
git push origin develop
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Counting objects: 25, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (25/25), 46.43 MiB | 2.49 MiB/s, done.
Total 25 (delta 13), reused 0 (delta 0)
remote: Resolving deltas: 100% (13/13), completed with 11 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: ffe0c9f32d9cde4cedfc1f4713eb82b9
remote: error: …
Run Code Online (Sandbox Code Playgroud)

git git-commit

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