我想从线性提交树中删除选定的提交日志条目,以便条目不会显示在提交日志中.
我的提交树看起来像:
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提交而不会丢失之后的所有提交?
我希望更改本地文件,但提交'数据库将保持不变,只有当前位置指针设置为当前选定的提交.
我想将文件的状态更改为特定的提交,运行项目,完成后,将文件恢复到上次提交.
如何在不压缩整个项目文件夹的情况下执行此操作?
我正在寻找git commit --amendMercurial 的反向部分,即修改我的工作副本链接的提交的方法.该修订程序的要求是:
如果可能,它不应该要求任何扩展.它不能要求非默认扩展,即没有官方Mercurial安装附带的扩展.
如果修改提交是我当前分支的一个负责人,则不应创建新的头.如果提交不是头,则可以创建新头.
该程序应该是安全的,如果由于任何原因修改失败,我希望在修改之前恢复相同的工作副本和存储库状态.换句话说,如果修改本身可能失败,则应该有一个故障安全过程来恢复工作副本和存储库状态.我指的是修改程序性质的"失败"(例如冲突),而不是与文件系统相关的问题(如访问限制,无法锁定文件进行写入,......) )
更新(1):
更新(2):
尝试以下命令:
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
更新:它不再严格:)
假设我有foo.js一段时间前提交过的文件.我想简单地找到首次添加此文件的提交.
在阅读答案和我自己的修修补补后,这对我有用
git log --follow --diff-filter=A --find-renames=40% foo.js
Run Code Online (Sandbox Code Playgroud) 现在尝试学习GitHub并在nettuts上完成这个Git essentials教程.我正在做关于提交的课程.
老师打字git commit并打开VIM作为他的编辑(我也想知道如何在Sublime Text 2中打开它)无论如何它在VIM中打开我添加1行说这是我的第一次提交并点击保存.
然后它会提示我将输出保存到桌面,这是我在他的截屏视频中看不到的.现在我还在VIM,不知道如何回到'正常'终端:(
我无法理解,所以我只是退出终端并重新启动它,再次执行git并发出一些关于重复的警告消息!不知道如果我需要(E)edit反正或者(A)abort.
git状态

VIM

当我重新打开终端并再次执行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)
这是我想恢复的提交.任何帮助都将成为救星!
我正在开发一个django应用程序,我正在使用pip来管理我的需求.如何安装特定的git提交?
在我的情况下,我需要安装此提交:https: //github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1
提交GitHub.com后,是否有任何在线编辑提交消息的方法?
从命令行,人们可以做到
git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)
正如另一个问题中的正确建议.
尝试git pull然后git push工作(没有任何其他提交在平均时间干扰).
但它可以通过GitHub网站完成吗?
有没有办法在github中查看提交日期,日/小时精度?较旧的提交以"人类可读"格式出现,例如"2年前",而不是显示实际日期.

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