标签: commit

如何在保持更改的同时从Git存储库中删除选定的提交日志条目?

我想从线性提交树中删除选定的提交日志条目,以便条目不会显示在提交日志中.

我的提交树看起来像:

R--A--B--C--D--E--HEAD
Run Code Online (Sandbox Code Playgroud)

我想删除B和C条目,以便它们不会在提交日志中显示,但应保留从A到D的更改.也许通过引入一个提交,使B和C成为BC并且树看起来像.

R--A--BC--D--E--HEAD
Run Code Online (Sandbox Code Playgroud)

或者,理想情况下,A直接来自D.D'表示从A到B,B到C和C到D的变化.

R--A--D'--E--HEAD
Run Code Online (Sandbox Code Playgroud)

这可能吗?如果有,怎么样?

这是一个相当新的项目,因此目前没有分支,因此也没有合并.

git commit

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

暂时将工作副本切换到特定的Git提交

如何切换到特定的Git提交而不会丢失之后的所有提交

我希望更改本地文件,但提交'数据库将保持不变,只有当前位置指针设置为当前选定的提交.

我想将文件的状态更改为特定的提交,运行项目,完成后,将文件恢复到上次提交.

如何在不压缩整个项目文件夹的情况下执行此操作?

git commit temporary

234
推荐指数
3
解决办法
10万
查看次数

Mercurial:如何修改最后一次提交?

我正在寻找git commit --amendMercurial 的反向部分,即修改我的工作副本链接的提交的方法.该修订程序的要求是:

  • 如果可能,它不应该要求任何扩展.它不能要求非默认扩展,即没有官方Mercurial安装附带的扩展.

  • 如果修改提交是我当前分支的一个负责人,则不应创建新的头.如果提交不是头,则可以创建新头.

  • 该程序应该是安全的,如果由于任何原因修改失败,我希望在修改之前恢复相同的工作副本和存储库状态.换句话说,如果修改本身可能失败,则应该有一个故障安全过程来恢复工作副本和存储库状态.我指的是修改程序性质的"失败"(例如冲突),而不是与文件系统相关的问题(如访问限制,无法锁定文件进行写入,......) )

更新(1):

  • 该过程必须是自动化的,因此可以由GUI客户端执行,而无需任何用户交互.

更新(2):

  • 不得触摸工作目录中的文件(某些已修改文件可能存在文件系统锁定).这尤其意味着,可能的方法可能在任何时候都不需要干净的工作目录.

mercurial commit git-amend mercurial-commit

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

如何git提交单个文件/目录

尝试以下命令:

git commit path/to/my/file.ext -m 'my notes'
Run Code Online (Sandbox Code Playgroud)

在git版本1.5.2.1中收到错误:

error: pathspec '-m' did not match any file(s) known to git.
error: pathspec 'MY MESSAGE' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)

单个文件或目录提交的语法是否不正确?

答: 参数有望在这一顺序...

git commit -m 'my notes' path/to/my/file.ext

更新:它不再严格:)

git commit

207
推荐指数
6
解决办法
28万
查看次数

查找提交文件的提交

假设我有foo.js一段时间前提交过的文件.我想简单地找到首次添加此文件的提交.

在阅读答案和我自己的修修补补后,这对我有用

git log --follow --diff-filter=A --find-renames=40% foo.js
Run Code Online (Sandbox Code Playgroud)

git commit git-log git-commit

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

终端中的Git提交打开VIM,但无法返回终端

现在尝试学习GitHub并在nettuts上完成这个Git essentials教程.我正在做关于提交的课程.

老师打字git commit并打开VIM作为他的编辑(我也想知道如何在Sublime Text 2中打开它)无论如何它在VIM中打开我添加1行说这是我的第一次提交并点击保存.

然后它会提示我将输出保存到桌面,这是我在他的截屏视频中看不到的.现在我还在VIM,不知道如何回到'正常'终端:(

我无法理解,所以我只是退出终端并重新启动它,再次执行git并发出一些关于重复的警告消息!不知道如果我需要(E)edit反正或者(A)abort.

git状态

在此输入图像描述

VIM

在此输入图像描述

当我重新打开终端并再次执行git时消息

在此输入图像描述

git vim terminal commit command-line-interface

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

git恢复到某个提交

如何将本地副本上的所有文件还原为某个提交?

commit 4a155e5b3b4548f5f8139b5210b9bb477fa549de
Author: John Doe <Doe.John.10@gmail.com>
Date:   Thu Jul 21 20:51:38 2011 -0500
Run Code Online (Sandbox Code Playgroud)

这是我想恢复的提交.任何帮助都将成为救星!

git commit revert

162
推荐指数
3
解决办法
24万
查看次数

使用pip安装特定的git commit

我正在开发一个django应用程序,我正在使用pip来管理我的需求.如何安装特定的git提交?

在我的情况下,我需要安装此提交:https: //github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1

git install pip commit

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

在GitHub中编辑git commit消息

提交GitHub.com后,是否有任何在线编辑提交消息的方法?

从命令行,人们可以做到

git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)

正如另一个问题中的正确建议.

尝试git pull然后git push工作(没有任何其他提交在平均时间干扰).

但它可以通过GitHub网站完成吗?

git commit github post-commit

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

在github中查看"真实"提交日期(小时/天)

有没有办法在github中查看提交日期,日/小时精度?较旧的提交以"人类可读"格式出现,例如"2年前",而不是显示实际日期.

老github提交

如果无法在github上看到实际日期,是否有更简单的解决方法git clone

git date commit github

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