2012-05-19 4 views
1

Я создал репозиторий git через 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 

ответ

1

Я нашел решение

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 
1

Раздвигая файлы в удаленное хранилище не обновляет файл дерева ("индекс"). Он обновляет хранилище объектов.

Чтобы обновить дерево, чтобы отразить сохраненный объект, вам необходимо сделать git reset --hard в этом удаленном репозитории, чтобы обновить его до нового HEAD.

Это плохо, и поэтому удаленные репозитории обычно устанавливаются как «голые»: специальный формат репозитория для git-хостинга, у которого нет рабочего дерева (и других различий: например, нет .git: файлы конфигурации более удобно хранить в корневом каталоге).

Используйте голый репозиторий для вашего восходящего потока: git init --bare.

+0

Кроме того ... он, кажется, клонировать пустой репозиторий, ничего не добавляя к нему, и толкая его. – larsks

+0

Я попробую, но я думаю, это возможно без -. потому что у меня есть 3 репозитория, и он работает и он создан командой git init (без --bare). спасибо за ответ –

+0

Можно без '-bare', да, но есть некоторые неудобства. – Kaz

1

Я думаю, вы должны добавить файл и зафиксировать в репозитории на сервере. почему вы не попробуйте голый репозиторий?

, если вам нужно нажать коммиты с помощью дистанционных попробовать эти команды:

на сервере создать хранилище:

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" 

на клиенте, например убунт:

git clone ssh://[email protected]: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 
Смежные вопросы