在没有本地.git的情况下推送到原点?

时间:2015-11-04 14:59:58

标签: git github

我正在开发一个通用的共享服务器,我可以使用它(1)没有git和(2)我没有管理员权限来自行安装git 。如果我想对我的代码进行版本控制,我必须使用SFTP将其恢复到本地计算机,提交更改本地,然后推送到原点。

有没有办法添加+ commit +直接将新保存的代码推送到我的git仓库而无需本地.git?我是唯一一个参与这个项目的人,所以没有冲突问题。

2 个答案:

答案 0 :(得分:1)

你可以:

  • 在远程服务器的本地文件夹上安装Git。这并不困难,如果你在$ PATH中添加位置,你可以像往常一样使用它而不使用它时插入整个路径。
  • 您可以在远程机器中创建一个脚本,为您执行工作。脚本应该使用scp将项目文件夹复制到本地计算机,通过ssh连接到本地计算机并自动执行git命令。

在第二种情况下,您可以在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