我正在使用git并在master分支上工作.这个分支有一个名为的文件app.js.
我有一个experiment分支,我做了一堆变更和大量的提交.现在我希望把做只对所有变化app.js从experiment到master分支.
我怎么做?
再一次,我不想合并.我只是想把所有的变化app.js从experiment分支带到master分支.
我有一个Git存储库,我想看看几个月前一些文件的样子.我在那个日期找到了修改版,而且它是27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8.我需要查看一个文件的外观,并将其保存到文件中.
我设法看到文件使用gitk,但它没有保存选项.我尝试使用命令行工具,我得到的最接近的是:
git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt
Run Code Online (Sandbox Code Playgroud)
但是,此命令显示diff而不是文件内容.我知道我以后可以使用类似的东西PAGER=cat并将输出重定向到文件,但我不知道如何获得实际的文件内容.
基本上,我正在寻找类似svn cat的东西.
基本上我想尝试别名:
git files 9fa3
Run Code Online (Sandbox Code Playgroud)
...执行命令:
git diff --name-status 9fa3^ 9fa3
Run Code Online (Sandbox Code Playgroud)
但是git似乎没有将位置参数传递给alias命令.我试过了:
[alias]
files = "!git diff --name-status $1^ $1"
files = "!git diff --name-status {1}^ {1}"
Run Code Online (Sandbox Code Playgroud)
......以及其他一些但不起作用.
退化的情况是:
$ git echo_reverse_these_params a b c d e
e d c b a
Run Code Online (Sandbox Code Playgroud)
......我怎么能做这个工作?
我想列出另一个分支中存在的文件而不进行检出,并且根据在不同的 Git 分支中查看文件而不更改分支,这个命令就足够了:
git show mybranch:mydir
Run Code Online (Sandbox Code Playgroud)
不幸的是,输出并不理想,因为完全没有必要tree mybranch:mydir:
tree mybranch:mydir
.gitignore
Makefile
README
Run Code Online (Sandbox Code Playgroud)
如何在不获取任何额外信息的情况下列出另一个分支中的文件(例如tree mybranch:mydir)?
我需要在另一个分支机构工作,但不知道哪个分支机构。列出了几个,我可以根据某些关键文件的内容确定我需要哪个分支。有没有办法只查看分支中的某些文件?另外,这是我使用的地方stash吗?
git ×5
alias ×1
command ×1
git-checkout ×1
git-show ×1
parameters ×1
position ×1
single-file ×1