从 Git Bash 管道输出到剪贴板
Posted
技术标签:
【中文标题】从 Git Bash 管道输出到剪贴板【英文标题】:Piping output from Git Bash to clipboard 【发布时间】:2013-09-23 16:12:04 【问题描述】:我经常需要将我的 Git 输出转发给我一直友好的代码伙伴。我知道的最好方法是这样做:
Right-click Git Bash title bar > Edit > Mark > Select lines > Enter
Bam - 我选择的所有内容都在我的剪贴板中,我充满了喜悦。
问题是,这种方式很无聊,我喜欢我与 Git 的关系充满兴奋和魅力。
在 Windows 中,您可以像这样将控制台输出通过管道传输到剪贴板:
C:\> dir | clip
太棒了,对吧?好吧,当你尝试在 Git Bash 中做某事时,会发生以下情况:
> git branch | clip
sh.exe": clip: command not found
这让我很难过。有没有办法将 Git Bash 输出通过管道传输到我在 Windows 中的剪贴板,这样我就可以再次充满欢乐?
【问题讨论】:
【参考方案1】:好吧,实际上git branch | clip
对我来说很好用。 clip
命令只是从 C:\Windows\System32\
调用 clip.exe
。确保在 PATH
的某个位置安装了 clip.exe
。
【讨论】:
这成功了!经过一番搜索,我发现you have to set yourPATH
variable inside git-bash,不仅仅是一个环境变量。
哇,神奇。但是这里的答案有点烦人。对于我们大多数人来说,我们不想只做一个 git 分支的副本。以下是复制文件内容的方法:cat [file] | clip
。现在你可以在任何你想要的地方按 ctrl+v 了。
很棒的提示!开箱即用!
是的,是的,是的。谢谢。【参考方案2】:
将 thing.txt 复制到剪贴板
cat thing > /dev/clipboard
将剪贴板内容放入thing.txt
cat /dev/clipboard > thing.txt
我将这些东西别名为 pbcopy 和 pbpaste,所以我觉得我在我的 mac 上。
【讨论】:
imo这是最好的答案 最佳答案 - 这可以正确处理 utf-8 编码。管道到clip.exe
没有。【参考方案3】:
@madhead 的答案是正确的 - PATH
变量必须在 git-bash 中设置。以下是有关如何解决此问题的详细说明,由 Cairnarvon's answer on superuser 提供:
要检查 PATH
当前设置的内容:
> echo $PATH
并设置它,假设是 64 位架构:
> export PATH="$PATH:/c/Windows/System32:/c/Windows/SysWOW64"
git branch | clip
的结果:
* master
dev
dev_foo
【讨论】:
【参考方案4】:复制 Git Bash 控制台全部内容的最简单方法:Right click anywhere on the console > Select All
相同的键盘快捷键:Ctrl+Shift+A
通过启用Options > Keys > Ctrl+Shift+letter shortcuts
启用此键盘快捷键。
薄荷版本:3.4.4 (x86_64-pc-mysys) [Windows 19042]
【讨论】:
以上是关于从 Git Bash 管道输出到剪贴板的主要内容,如果未能解决你的问题,请参考以下文章
当我通过 Git Bash 中的 ssh 在远程 Linux 机器上运行命令时,如何将文件的内容直接复制到我的 Windows 剪贴板中?