相关疑难解决方法(0)

如何轻松修复过去的提交?

我刚刚读过修改git过去提交中的单个文件,但不幸的是,接受的解决方案"重新排序"了提交,这不是我想要的.所以这是我的问题:

我偶尔会在处理(无关)功能时发现我的代码中存在错误.然后快速git blame揭示该错误已经被引入了一些提交之前(我提交了很多,所以通常它不是引入该错误的最新提交).此时,我通常这样做:

git stash                      # temporarily put my work aside
git rebase -i <bad_commit>~1   # rebase one step before the bad commit
                               # mark broken commit for editing
vim <affected_sources>         # fix the bug
git add <affected_sources>     # stage fixes
git commit -C <bad_commit>     # commit fixes using same log message as before
git rebase --continue          # base all later changes onto this
Run Code Online (Sandbox Code Playgroud)

然而,这种情况经常发生,上述序列变得烦人.特别是'互动式底板'很无聊.上面的序列是否有任何快捷方式,这可以让我修改过去的任意提交和分阶段的更改?我完全清楚这会改变历史,但我经常犯错误,所以我真的很喜欢这样的事情.

vim <affected_sources>             # fix bug
git add -p <affected_sources>      # Mark …
Run Code Online (Sandbox Code Playgroud)

git rewrite

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

Git:仅在一次提交中合并

通常,我在Git中使用分支,但我不喜欢在我的工作树中看到数百个分支(Git历史).我想知道Git中是否有一个方法只在一次提交中"加入"一个分支中的所有提交(理想情况下是一个明确的提交消息).

像这样的东西:

git checkout -b branch
<some work>
git commit -a -m "commit 1"
<some work>
git commit -a -m "commit 2"
<some work>
git commit -a -m "commit 3"
git checkout master
git SUPER-JOIN branch -m "super commit"
Run Code Online (Sandbox Code Playgroud)

在此之后,git日志中只存在"超级提交".

git branch

44
推荐指数
3
解决办法
4万
查看次数

包含许多布尔"状态"字段的表

我有一个表,表示一个具有多个"状态"(已批准,已过期,趋势,真实)的对象.所有这些状态都是独立的,所以我不能只有一个状态字段,因为可以进行查询,因此您可以询问:

select * from Objects WHERE approved is true, trending is true, expired is false;
Run Code Online (Sandbox Code Playgroud)

我不确定是否有规范化这样的表格.另外,据我所知,使用这些字段的索引基本上是无用的.这个案子也适合吗?

谢谢!

database database-design

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

轻松的Git壁球方式?

我经常这样做:

git add -u
git commit
Run Code Online (Sandbox Code Playgroud)

...发现错误,修复它......

git add -u
git commit -m "Fix typo"
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将第二次提交压缩回第一次?有时我可以这样做git rebase -i,但有时我只是得到一条关于更新的消息.

注意我只是在谈论我没有推送第一次提交的情况.基本上我想使用第一个日志消息,但具有两个提交的组合效果.我可以用git commit --amend这些东西吗?

这个相关问题有点处理: git:squash/fixup之前的提交

最好的答案是一岁,我想知道事情是否有所改善?

git git-rebase

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

标签 统计

git ×3

branch ×1

database ×1

database-design ×1

git-rebase ×1

rewrite ×1