我已经对作为一组文件的一部分提交了几次的文件进行了一些更改,但现在想要将其上的更改重置/还原到以前的版本.
我已经做了git log
一个git diff
找到我需要的修订版,但是根本不知道如何将文件恢复到以前的状态.
我正在使用git并在master分支上工作.这个分支有一个名为的文件app.js
.
我有一个experiment
分支,我做了一堆变更和大量的提交.现在我希望把做只对所有变化app.js
从experiment
到master
分支.
我怎么做?
再一次,我不想合并.我只是想把所有的变化app.js
从experiment
分支带到master
分支.
我目前在工作目录中有三个已修改的文件.但是我希望其中一个重置为HEAD状态.
在SVN我会使用svn revert <filename>
(svn update <filename>
如果需要的话后跟),但在git我应该使用git reset --hard
.但是,此命令无法在单个文件上运行.
有没有办法在git中丢弃单个文件更改并用新的HEAD副本覆盖它?
我有一个Git存储库,我想看看几个月前一些文件的样子.我在那个日期找到了修改版,而且它是27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8
.我需要查看一个文件的外观,并将其保存到文件中.
我设法看到文件使用gitk
,但它没有保存选项.我尝试使用命令行工具,我得到的最接近的是:
git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt
Run Code Online (Sandbox Code Playgroud)
但是,此命令显示diff而不是文件内容.我知道我以后可以使用类似的东西PAGER=cat
并将输出重定向到文件,但我不知道如何获得实际的文件内容.
基本上,我正在寻找类似svn cat的东西.
我已经创建了一个带有子模块的git存储库.我能够告诉子模块本身更改其远程存储库路径,但我不知道如何告诉父存储库如何更改子模块的远程存储库路径.
如果我有点不幸并且必须手动操作,我不会感到惊讶,因为即使删除子模块也不容易.
这个git命令中文件名之前的双破折号是什么意思?
git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt
Run Code Online (Sandbox Code Playgroud)
这是强制性的吗?它等同于
git checkout --ours path/to/file.txt
git checkout --theirs path/to/file.txt
Run Code Online (Sandbox Code Playgroud) 我在我的git repo中有一个名为xyz的文件.巧合的是,我还有一个名为xyz的分支.目前我在掌握,但我想结帐分支xyz.要使用的命令很简单
$ git checkout xyz
Run Code Online (Sandbox Code Playgroud)
但这会将文件签出xyz
到当前的HEAD.如何将分支更改为分支xyz
?
每次播放文件时,Git都会在您需要取消暂存文件时提供有用的说明:
(use "git reset HEAD <file>..." to unstage)
然而,Atlassian的优秀Git教程简单地说:
git reset <file>
这似乎更直截了当,为什么差异呢?
git ×9
git-checkout ×4
debugging ×1
git-branch ×1
git-reset ×1
git-stash ×1
single-file ×1
unstage ×1