引言
虽然通过scp等方式也可以实现文件传输,但是今天介绍一种新的方法,通过git的git push和git pull实现不同设备之间的文件传输。
云端
在云端,我们首先需要建立一个用于文件传输的仓库,这个仓库可以建立成私有状态。
linux端
在linux端和win的git中都需要登录你的github账号。
在发送端,我们首先需要使用git init在本地新建一个仓库,然后添加进关联的云端仓库,使用git remote add的方式添加。
然后我们首先需要将本地的分支与远端的main分支关联,这里和之前博客中写的那样,首先使用-u的方式关联,之后通过git push就可以。
做完这些基础操作之后,以后需要将实验室的台式机linux系统,与笔记本的win系统进行文件传输的时候,就可以:
1、将待共享的文件拖入共享文件夹(仓库)中;
2、git add .
3、git commit -m ""
4、git push
然后,做到这里,我又觉得有些麻烦,那我们其实可以通过脚本的方式,进行后面的操作,脚本这样写就可以:
gnome-terminal -x bash -c "git add .;git commit --amend --no-edit;git push -f;exec bash"
这句话实现的首先开启一个终端,然后在终端中执行上述代码,同时在commit阶段,由于不需要什么版本控制,可以使用--amen --no-edit代替 -m的操作。
最后
1、将文件保存为.sh文件;
2、然后右键属性,将可以将文件作为可执行文件打开选中。
以后就可以实现,将文件拖入,再双击脚本,就能同步到云端仓库的操作了。
当作为接受端时,同样地,可以写一个脚本:
gnome-terminal -x bash -c "git fetch --all;git reset --hard origin/main;exec bash"
win端
在win端,同样的操作,首先建立仓库,然后再关联云端仓库,当然我们也会希望通过脚本这种简单的方法进行如上操作,因此有了如下代码:
start D:\git\Git\git-bash.exe -c "git fetch --all && git reset --hard origin/main"
start D:\git\Git\git-bash.exe -c "git add . && git commit --amend --no-edit && git push -f"
最后需要注意,当一个空的仓库和远端仓库关联时,需要首先在本地空的仓库新建一个分支如
git checkou main
May the force be with you!
评论(0)
您还未登录,请登录后发表或查看评论