我已经使用git的本地实例(通过SmartGit)几年(使用安全FTP到远程服务器)。该工作流程完成了这项工作,但我想进入现代时代并将我的更新直接推送到远程服务器。
首先,在遥控器上:
[acoder@remote www]# mkdir buymystuffs.com
[acoder@remote www]# cd buymystuffs.com/
[acoder@remote buymystuffs.com]# git status
fatal: Not a git repository (or any parent up to mount point /data/www)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
[acoder@remote buymystuffs.com]# git init
Initialized empty Git repository in /data/www/buymystuffs.com/.git/
[acoder@remote buymystuffs.com]# git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
现在在本地系统上我使用
设置了一个新的仓库Smartgit日志:
[master (root-commit) bd5a85f] initial commit
/storage/web/git/buymystuffs.com> git commit --allow-empty --file=/tmp/smartgit-2242088229372859523tmp/commit-95902291203419258.tmp
/storage/web/git/buymystuffs.com> git init
Initialized empty Git repository in /storage/web/git/buymystuffs.com/.git/
接下来,我尝试让本地和远程回购谈话:
然后在此处输入我的详细信息:
单击“添加”会产生以下错误:
添加远程存储库:' /data/www/buymystuffs.com'似乎没有 是一个git存储库无法从远程存储库读取:请 确保您拥有正确的访问权限和存储库 存在。
我已确认自己拥有远程目录的权限:
[acoder@remote www]# ll
total 0
drwxrwx---. 3 apache webdev 18 May 11 15:51 buymystuffs.com
(用户acoder是webdev组的成员)
我还尝试使用git init --bare
设置远程树。这让我超越了上面的错误。当我更新新的本地文档时,我没有看到提交和推送的选项。我只能提交。我试过了,然后检查了远程树,发现了这个:
[acoder@remote buymystuffs.com]$ ll /data/www/buymystuffs.com
total 12
drwxrwxr-x. 2 acoder acoder 6 May 14 10:32 branches
-rw-rw-r--. 1 acoder acoder 66 May 14 10:32 config
-rw-rw-r--. 1 acoder acoder 73 May 14 10:32 description
-rw-rw-r--. 1 acoder acoder 23 May 14 10:32 HEAD
drwxrwxr-x. 2 acoder acoder 242 May 14 10:32 hooks
drwxrwxr-x. 2 acoder acoder 21 May 14 10:32 info
drwxrwxr-x. 4 acoder acoder 30 May 14 10:32 objects
drwxrwxr-x. 4 acoder acoder 31 May 14 10:32 refs
而不是我尝试提交的index.html文档。
我错过了哪些步骤可以在本地工作然后将提交推送到上面设置的远程仓库?
答案 0 :(得分:0)
经过一番研究,答案是我无法让git做我想做的事。 / home和/ data / www目录(和/ var)都标记为noexec
,它排除了push & deploy的更新后挂钩。
我们无法移除noexec
,所以我有点不走运。如果您有一个可行的解决方案,允许我在noexec
环境中执行此操作,请跟进。
感谢SO用户muecas提供有用的对话。