标签: commit

Git在分支中排除提交

我有一个提交,我已经存储在一个分支中,因为这应该只发送到一个特定的框.

我已将它合并到分支主服务器,但不是我在本地使用的分支dev.

现在,我错误地将master合并到dev,并将此提交引入了dev.

我知道可以git revert sha,to branch dev; 但是因为这将引入一个撤消提交的提交(我猜,我还没有完全尝试过这个),当我合并master时,这个提交也会撤消吗?

如果是这样,我如何仅从分支dev撤消此提交.

哦, - git reset HEAD^1hard不是一个选项,因为在不需要的提交之后,master上还有其他提交.

如果再次重置并且apply是唯一的选项,那么除了不需要的提交之外,我如何仅从master合并那些额外的提交.

更新:

这是提交树.看起来很复杂 我已经指出了我在开发中不需要的提交.(我也删除了任何个人身份信息,感谢理解.截图gitk比ascii艺术要简单得多.) 替代文字

提前致谢!

git commit revert

13
推荐指数
1
解决办法
8687
查看次数

当您修改标记的提交时,Git中的标记会发生什么?

我已经将一些源文件提交到我的git存储库并将其标记为我的软件的新版本.但我看到我刚刚犯了一个错误,并使用"修改"功能提交更正的文件.

现在,我看到标签没有转移到新的提交(使用"修改"功能制作的提交).但我也可以看到标签仍然存在......

我想知道标签发生了什么.这种行为是个错误吗?标签是否链接到不再存在的提交?

我知道我可以强制在新提交中创建相同的标记,但我相信应该有更好的方法(比如使用"修改"提交的命令行参数).

tags git commit

13
推荐指数
1
解决办法
1907
查看次数

Django:从事务角度看save()和create()之间的区别

Django中的create()方法创建一个模型实例,然后调用save(),据说触发提交.因此触发事务的提交应该没有任何区别.

但实际上,在Postgresql上使用create()创建一组模型实例的方法我得到了transaction aborted, commands ignored until end of transaction异常.该方法适用于非事务性数据库后端.另外,当我用以下内容替换create()时:

m = Model(attr1=..., attr2=...)
m.save()
Run Code Online (Sandbox Code Playgroud)

它也可以在Postgresql上运行.

使用save()create()交易意义上有区别吗?

edit: create()也在self._for_write = True调用save()之前设置,但我无法跟踪它以查看它是否对事务行为有任何影响.

编辑:示例代码可以在这里找到.

django transactions commit

13
推荐指数
1
解决办法
9767
查看次数

如何查看已检入git的内容,但尚未通过dcommit提交给svn?

我正在使用git-svn.我怎样才能获得我已经提交到git中的内容列表,但是自上次以来还没有提交到SVN存储库git svn dcommit?也就是说,如果我进行dcommit,如何验证即将发送的内容?

svn git commit git-svn

13
推荐指数
1
解决办法
1850
查看次数

从github删除提交

可能重复:
如何删除github上的提交?
如何删除'git commit'

所以我试图从github中删除一个提交.

这是3次提交之前,如果所有的更改都丢失了我就可以了.

所以基于这里的问题,我做了一个

git reset --hard <sha-commit-name-to-go-back-to>
git push -f origin HEAD^:master
Run Code Online (Sandbox Code Playgroud)

现在它已经从github以及git log中消失了.

然后我重新修改了我的修改

git add <file I changed>
git commit
git log
Run Code Online (Sandbox Code Playgroud)

一切都很好看.没有旧提交的痕迹.所以我终于做了一个:

git push
Run Code Online (Sandbox Code Playgroud)

现在突然github有我删除的那三个提交.

我究竟做错了什么?如何保持提交不返回?

git commit github

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

选择后提交

commitselectDB2和MySQL语句之后可能需要时阅读了解释:

DB2中的select查询是否需要提交?

我应该在一次选择后提交

我的问题是在使用Oracle commit执行select语句后何时以及为什么重要?

sql oracle select commit

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

git filter-branch --msg-filter来重写被推送的提交消息

如何重写已经推送到私有远程的旧提交的消息?我想保留时间戳和标签.

我在这里找到了这个命令:

git filter-branch -f --msg-filter \
'sed "s/<old message>/<new message>/g"' -- --all
Run Code Online (Sandbox Code Playgroud)

为了保持我添加的标签: --tag-name-filter cat

执行命令时git告诉我:msg过滤失败

我要更改的消息是合并消息"合并分支'发布/ ...'"这是问题吗?

git message commit git-filter-branch revision-history

13
推荐指数
1
解决办法
5541
查看次数

git提交所有分支

如果我修复了分支中的文件中的错误,该错误branch_a应该应用于所有分支.有没有办法将更改应用于所有分支,而无需单独检出分支.

git commit -m 'commit msg' # on branch a 

git checkout branch_b
git cherry-pick branch_a

git checkout branch_c
git cherry-pick branch_a
Run Code Online (Sandbox Code Playgroud)

我希望有一个 git commit --to-all-branches尝试将更改传播到所有分支的可能性.

编辑

为了澄清我的情况,我编写代码来解决计算问题.通常情况下,我不知道哪种方法最能解决特定问题.所以我创建了一个分支.这些分支往往发散,更像是叉子.但是为了保留所有文件,我只使用一个带有多个分支的git存储库.在与所有分支/分支相关的错误的情况下,我正在寻找自动更新所有分支.

git commit

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

Git(GitHub)在过去的日期提交

我正在开发一个git项目(托管在GitHub上)并使用Gi​​tHub for Windows.昨天,我得到了很多成就,但是GitHub for Windows赐予了我(说它无法提交)并且我无法提交.

我不想丢失我的GitHub提交条款,所以我想知道是否有任何方法在过去的日期提交并与我的GitHub同步(如果这是可能的).

另外:我已经在git-bash中提交了我的提交但尚未提交.

windows git bash commit github

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

从提交ID中查找git分支或分支

实际上,我试图获得有关合并冲突的报告.我使用'git blame'来查看谁更改了哪一行,但我找不到分支和存储库名称信息.

有没有办法从'git blame'或commit ids'中找到文件的存储库名称,分支名称和作者名称,这样每当发生合并冲突时,我都可以向触及该文件/行的作者发送电子邮件解决它.

git sha1 commit blame git-branch

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