git mv文件并在旧位置创建符号链接(需要shell命令)
我想在git存储库中将文件从一个位置移动到另一个位置。但是,我希望程序仍然可以访问旧位置的文件,因此我想在旧位置创建符号链接。git mv文件并在旧位置创建符号链接(需要shell命令)
现在我不想在shell中手动输入两个命令,例如“git mv oldfile newfile; ln -s newfile oldfile”。我需要两次输入文件,这可能会导致更多的拼写错误。
我在linux中使用bash shell。我可以编写自己的执行git-mv和ln命令的命令git-mv-keep
吗?我是bash的新手。
我会使用历史快捷键
git mv oldfile newfile
ln -s !$ !:2
或短的函数:
git-mv-link() { git mv "$1" "$2" && ln -s "$2" "$1"; }
然后,可以通过手动编辑'〜/ .gitconfig'来添加短函数作为'git'的别名,并正确调用'git config ...'... - – twalberg 2014-08-28 16:22:27
正如所写,没有。通过一些小调整,你可以创建一个git别名,然后使用'git mv-link old new',是的。 'mv-link =“!bash -c'git mv”$ 1“”$ 2“&& ln -s”$ 2“”$ 1“&& git添加”$ 1“' - ”'或者我认为的东西。 – 2014-08-28 16:26:07
或'mv-link ='! f(){git mv“$ 1”“$ 2”&& ln -s“$ 2”“$ 1”; } f'',这比较简单一些...另外,它不会产生两个子shell,像'! bash -c ...'确实...... – twalberg 2014-08-28 18:07:32
你想在Git仓库或只是在你的本地磁盘跟踪的符号链接?如果只是在本地磁盘上,那么这有什么意义呢? – 2014-08-28 16:14:30
我现在需要它在存储库中,然后在稍后所有工作正常并经过测试的时候,我想要删除符号链接。 – mrsteve 2014-08-28 16:18:58