相关疑难解决方法(0)

我应该把小型的开发工作压缩成更大的吗?

关于如何压缩git和其他DVCS的提交,也有很多问题,例如:

我的问题是,我想要压缩提交吗?我应该保留详细的提交顺序,显示功能是如何开发的,还是我应该在功能完成后将它们压缩成一个,以保持历史更清晰?

dvcs commit squash

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

为什么 Github 会在每个 Pull Request 中显示我之前的所有提交

我不是最好的 Git 用户,每当我创建 PR 时都会遇到问题。基本上,当我做 PR 时,我会看到一个包含我之前所有提交的大列表,包括我刚刚提交的那个(我想合并到 Master 分支的那个)。我做的流程如下:

首先,我分叉了我们 Master 分支的副本,然后

git clone [local copy] 
Run Code Online (Sandbox Code Playgroud)

然后我创建一个遥控器

git remote add upstream [main repo url]
Run Code Online (Sandbox Code Playgroud)

然后每次我进行更改时,我都想添加到我的 PR 中:

git add [file1] [file2 ] ...ect
Run Code Online (Sandbox Code Playgroud)

然后提交:

git commit -m 'blah blah blah'
Run Code Online (Sandbox Code Playgroud)

最后推送到原点:

git push origin master
Run Code Online (Sandbox Code Playgroud)

在此之后,我在 Github 上创建了一个 PR,它显示了所有以前的提交。有没有办法不列出所有这些而只显示我的最新提交?它显示已合并到上游 long back 并与其同步的提交。合并时不必选择特定的提交而只选择列出的提交会很好。

谢谢!

git github pull-request

5
推荐指数
1
解决办法
8573
查看次数

如何压缩 Git 中的提交?

我正在尝试压缩我的提交并将我的分支合并为一个提交来掌握。这就是我正在尝试的。我切换到主分支,然后我就这样做了

git merge --squash <branch_name>
Run Code Online (Sandbox Code Playgroud)

我得到

Automatic merge went well; stopped before committing as requested
Squash commit -- not updating HEAD
Run Code Online (Sandbox Code Playgroud)

之后我承诺。但这就是我得到的

$ git commit -m "Resolved"
On branch master
nothing to commit, working tree clean
Run Code Online (Sandbox Code Playgroud)

由于某种原因,更改没有得到反映,我收到消息没有要提交的信息。我已经浏览了堆栈上的许多帖子和问题,但到目前为止没有任何帮助。

git github git-merge git-squash

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

Git将未完成的更改推送到repo

另一个Git问题,如果有人不介意回答:

我在办公室桌面上开发网站,在家里工作时在笔记本电脑上开发网站,都将文件存储在本地驱动器上,并使用在线Git存储库进行跟踪.

当我在家中从笔记本电脑创建新功能时,将这些更改转移到桌面的最佳方式是 - 我是否会进行更改,为它们创建提交,然后将它们推送到在线仓库,即使功能仍然不完整,还是有更好的方法?

我真的不确定是否在功能分支上创建一个新的提交只是为了将更改推送到repo,以便我在办公室时可以获取更改是正确的方法,但也许我错了. ..?

git repository

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

为什么从 git rebase 删除的提交会导致合并冲突?

我的问题

我一直在开发 git 存储库。在发布我的更改之前,我想删除一些提交 - a023b43315424b7b51754- 因为它们不反映任何有意义的更改。唯一重要的时间点是第一个 ( 70f72ca) 和最后一个 (6937ddd ) 提交。

我尝试过什么

git rebase -i 4c802c1
Run Code Online (Sandbox Code Playgroud)

我选择了:

pick 70f72ca Remove repetitions from Makefile
d a023b43 Separate target for image conversion
d 315424b Remove image conversion (#1)
d 7b51754 Fix Makefile
pick 6937ddd CV 2019.01
Run Code Online (Sandbox Code Playgroud)

最终目标是拥有如下所示的 git 日志:

6937ddd CV 2019.01
4c802c1 Initial commit
Run Code Online (Sandbox Code Playgroud)

什么没有奏效

Auto-merging src/Adam_Matan.tex
CONFLICT (content): Merge conflict in src/Adam_Matan.tex
error: could not apply 6937ddd... CV 2019.01

Resolve all …
Run Code Online (Sandbox Code Playgroud)

git rebase merge-conflict-resolution

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

清理 Git 中的分支历史记录

我在功能分支上工作了好几天。在这段时间里,我犯了很多错误,并提交了很多不必要的代码更改,我不得不在下一次提交中恢复。

最后,我找到了最好的解决方案,现在我准备创建一个 Pull-Request。但是,我不希望每个人都能看到我对分支做了多少愚蠢的提交。:-)

用最新的代码创建一个干净的 PR 但没有所有这些提交的最佳方法是什么?

我在终端中使用 Git。

git

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

壁球在变基后承诺

interactive在重新定位分支时忘了检查选项.我需要一个最终的提交,但我在主人身上有N个提交.在rebase过程结束后,是否可以压缩提交?

git

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

是否可以轻松地将所有提交作为一次提交从一个分支移动到另一个分支?

我知道,我可以进行交互式变基、重写首次提交并修复所有其他内容。但如果一个分支包含数百个提交,它就会变得非常乏味。

有没有更简单的方法?

git rebase fixup

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

取消提交当前分支中的所有提交,但将所有更改保留在当前状态

A我的回购中有一个分支,有10个提交.我想要的是找到一种删除所有提交的方法,但保留当前分支中的所有更改(因此代码的状态将相同,但所有提交A都将消失).目的是我现在可以检查所有的更改,并且在我合并回master之前,我可以选择我想要的并构造更好的提交消息.这种流动甚至可能吗?

git

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

Git rebase squash通过哈希提交

我有一个大约10个提交的分支.其中3个是合并提交,将master与我的分支合并,并在每次之间添加~500个提交.有没有办法压缩当前分支上的提交?我的历史看起来像这样:

ad54ef86 My Commit 1
ad54ef86 Merge commit
ad54ef86 Others' Commits
....500 more others' commits
ad54ef86 My Commit 2
ad54ef86 My Commit 3
ad54ef86 Merge commit
ad54ef86 Others' Commits
....500 more others' commits
ad54ef86 My Commit 4
...
Run Code Online (Sandbox Code Playgroud)

现在做git rebase -i HEAD~2000和搜索是很多工作.它有办法吗?

编辑:所以这个问题被标记为Squashing最后n次提交的副本.这显然不是我的问题.我想压缩在我当前分支上进行的最后n次提交之后我合并该分支中的另一个分支并获得所有这些提交.

git rebase squash

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