如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做git log,那么我得到以下输出:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date: Thu Nov 4 18:59:41 2010 -0400
blah blah blah...
commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date: Thu Nov 4 05:13:39 2010 -0400
more blah blah blah...
commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date: Thu Nov 4 00:55:06 2010 -0400
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc?
在Git中是否有一个命令可以查看(转储到stdout,或者在$PAGER或中$EDITOR)特定文件的特定版本?
我正在使用git并在master分支上工作.这个分支有一个名为的文件app.js.
我有一个experiment分支,我做了一堆变更和大量的提交.现在我希望把做只对所有变化app.js从experiment到master分支.
我怎么做?
再一次,我不想合并.我只是想把所有的变化app.js从experiment分支带到master分支.
是否可以在git分支中打开文件而不检查该分支?怎么样?
基本上我希望能够在我的github pages分支中打开一个文件而不必一直切换分支.我不想修改它,只想查看它.
我知道这不是一个严格的编程问题,但它与git有关.我不小心在git中创建了一个分支--track(我在合并远程分支时得到了错误的选项顺序)
常规命令不起作用:
git branch -D "--track"
Run Code Online (Sandbox Code Playgroud)
我试图用引号和反斜线逃脱,但是都不起作用.
有任何想法吗?
在服务器上,我有裸存储库,它是开发过程的起源,并简化了到QA环境的部署.
所以post-receive它根本
GIT_WORK_TREE=/home/dev git checkout -f
Run Code Online (Sandbox Code Playgroud)
但随着产品变得越来越复杂,还应该发生其他一些事情.所以现在它由deploy.sh脚本处理,脚本也被存储库跟踪.所以我想做的是能够而不是检查整个存储库只是结账deploy.sh并运行它.我认为这样的东西会起作用:
SOURCE_PATH="/home/dev"
GIT_WORK_TREE=$SOURCE_PATH git checkout deploy.sh
$SOURCE_PATH"/deploy.sh"
Run Code Online (Sandbox Code Playgroud)
但它不起作用给出错误:
error: pathspec 'deploy.sh' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?或者这样做是不可能的?
在生产机器上,我想查看GitHub特定版本的特定文件,以方便数据库迁移.我不想签出(甚至克隆)整个源代码库(因为这是我的生产环境).我怎样才能只提取我要查找的文件?
在ClearCase中,如果我正在处理某个文件X并想要查看其先前版本(比如版本5),则可以使用它X@@/main/5.是否有类似的其他(最好是免费的)版本控制系统?
水银有hg cat和hg co,但他们仍然不接近的ClearCase的功能之上.
我发现.razmatazz在HTML文件中使用了某个CSS类,但是这个标识符不在任何现有的CSS文件中.这解释了不正确的演示,我已经"踢了一段时间".
> git log -S razmatazz --source --all
847d9d8 Thu Jun 25 10:05:07 2018 Joe C helpful commit message.
9384843 Wed May 20 14:10:34 2018 Joe C ever more helpful commit message.
2093483 Mon Apr 15 11:15:51 2018 Joe C yet another great message.
Run Code Online (Sandbox Code Playgroud)
但同时我一直在合并/取消合并/重命名我的CSS文件,因此我不知道CSS文件名.
如何确定添加或删除给定标识符的文件名?
由于"pickaxe"git选项没有说明是否添加或删除了标识符,我会尝试找到的哈希值和它们的前辈
git show 847d9d8:/path/to/file
git show 847d9d8^:/path/to/file
git show 9384843:/path/to/file
git show 9384843^:/path/to/file
git show 2093483:/path/to/file
git show 2093483^:/path/to/file
Run Code Online (Sandbox Code Playgroud)
以获取丢失的定义.
git ×9
git-branch ×2
git-checkout ×2
branch ×1
clearcase ×1
git-reset ×1
git-revert ×1
githooks ×1
github ×1
mercurial ×1
sh ×1