我正在开发一个通用的共享服务器,我可以使用它(1)没有git和(2)我没有管理员权限来自行安装git 。如果我想对我的代码进行版本控制,我必须使用SFTP将其恢复到本地计算机,提交更改本地,然后推送到原点。
有没有办法添加+ commit +直接将新保存的代码推送到我的git仓库而无需本地.git?我是唯一一个参与这个项目的人,所以没有冲突问题。
答案 0 :(得分:1)
你可以:
在第二种情况下,您可以在bash脚本中使用类似
的内容#!/bin/bash
sshpass -p remoteuser ssh -X -l -t localuser@localmachine << EOF
cd your/project/path
git commit -a -m "Automated commit"
git push origin
EOF
并从远程计算机调用它。
如果没有冲突和工作/推送当前分支,脚本应该有效。
答案 1 :(得分:0)
还有另一种方式。 您可以将服务器上存储库的根目录安装到本地目录中,然后在已安装的目录中创建本地.git repo,添加远程服务器,最后全部推送。
通过这种方式,git local repo被创建到服务器中(不在本地)。 要挂载使用sshfs
mkdir ~/mnt
sshfs username@server_ip:path_to_root_of_repo ~/mnt
chmod +x ~/mnt