[英]i can't see files in git repository
我通过ssh创建了一个git存储库。 它工作,但我无法在目录中看到文件。
远程(SSH):
mkdir test.com
cd test.com
git init
client(git bash)
cd /apache/htdocs
git clone git://myserverip/test.com
cd test.com
git add --all .
git commit -a -m "first"
git push origin master
我认为,您必须在服务器上的存储库中添加文件和提交。 为什么你不尝试裸存储库?
如果您需要通过远程推送提交,请尝试以下命令:
在服务器上创建存储库:
cd /usr/local/git/ ## or your own repo destination
mkdir repo.git
cd repo.git
git init
touch README
git add .
git commit -a -m "start my repository"
在客户端,如ubuntu:
git clone ssh://User@serverip:sshport/usr/local/git/repo.git myrepo
cd myrepo
git branch someUser # create new branch
vim README ## some change on the file
git add README
git commit -a -m "some change by someUser" ## user commit changes
git push origin someUser ## push commit to server
用户推送更改后,系统管理员必须进行合并提交,简单方法是:
cd /usr/local/git/repo.git
git merge someUser ## merge repo by user commit
将文件推送到远程存储库不会更新文件树(“索引”)。 它更新对象的存储。
要更新树以反映存储的对象,您必须在该远程存储库中执行git reset --hard
以将其更新为新的HEAD
。
这是一件坏事,因此远程存储库通常被设置为“裸”:git托管的特殊存储库格式没有工作树(和其他差异:例如没有.git
目录:配置文件是更方便地存储在其根目录中)。
为您的上游使用裸存储库: git init --bare
。
我找到了解决方案
mkdir test.com
cd test.com
git init
cd .git
cd hooks
vi post-receive
chmod +x post-receive
后收到
#!/bin/sh
cd ..
env -i git reset --hard
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.