所以我正在使用GIT,尝试将代码推送到我的远程服务器。
为了让事情有效,我不得不使用以下克隆命令:
git clone -u / home / bin / git-upload-pack user@server.com:mygitfolder
本地计算机/远程服务器上的相同版本的git(1.7.0.4)
所以我可以收集的内容基本上是:
我知道我可以创建一个在我推送时生效的钩子,但是没有设法找到它的实现位置。
(我宁愿不在我的本地机器上创建别名)
答案 0 :(得分:15)
如果无法调整远端 1 的有效路径,则必须从本地指定程序的位置。
如您所见,git clone
可以-u /path/to/git-upload-pack
(或--upload-pack /path/to/git-upload-pack
)。
git fetch
和git pull
接受--upload-pack /path/to/git-upload-pack
(不是-u
,因为这对这些程序意味着什么)。他们还检查remote.<name>.uploadpack
配置变量。
git push
接受--receive-pack /path/to/git-receive-pack
并检查remote.<name>.receivepack
配置变量。
克隆存储库后,可以使用配置变量记录路径:
git clone -u /home/bin/git-upload-pack user@server.com:mygitfolder
cd mygitfolder
git config remote.origin.uploadpack /home/bin/git-upload-pack
git config remote.origin.receivepack /home/bin/git-receive-pack
然后您可以在不必指定路径的情况下进行推送,获取或拉取。
1
你说“SSH帐户的环境变量被阻止了”。如果您的意思是 sshd 关闭了PermitUserEnvironment
设置(意味着您无法在environment="PATH=/home/bin:/usr/bin:/bin"
文件中使用.ssh/authorized_keys
),那么您仍然可能能够通过shell初始化文件(例如.bashrc
)修改默认PATH。