У меня есть проект, размещенный на GitHub, и я хотел бы работать над ним локально. У меня есть несколько компьютеров, которым требуется доступ к нему, и я хотел бы поделиться кодом между ними. Однако я не хочу, чтобы все эти коммиты были запущены на GitHub, поэтому простой подход «клон, а затем просто пуш-пул» не подходит.
По сути, я хочу это:
[GitHub] --> [A Local Network Share] --> [PC1]
--> [PC2]
Таким образом, ПК1 и ПК2 должны иметь возможность выдвигать / извлекать ресурсы в локальную сеть и, таким образом, обмениваться кодами друг с другом, и время от времени я хочу отправить эти изменения в мой репозиторий GitHub.
Я немного растерялся - просто создать ветку? Или я получу git clone из GitHub в свою общую папку, а затем git clone из моей общей папки на PC1 и PC2, в результате чего у них будет только 1 удаленный (общий ресурс), а у общего ресурса только 1 удаленный (GitHub)?
Редактировать: Это не для безопасности - я не против, когда все немедленные коммиты переходят на GitHub, и я также не хочу препятствовать PC2 получить доступ к GitHub. Более того, я не хочу настраивать весь SSL-компонент, и потому что я тот, кто выполняет очень часто (иногда каждые несколько минут - я использую git commit в качестве расширенной функции отмены), и я хочу, чтобы код на GitHub всегда быть компилируемым.
Редактировать 2: Решения здесь у меня еще не сработали :( Так я и делаю
git clone --bare git@github.com:foo/bar
на моем сервере. Это создает клон. На моих компьютерах я клонирую этот репозиторий - этот шаг работает нормально, на моих компьютерах есть репозиторий .git, а мой сервер настроен как удаленный.
Однако на сервере ничего не настроено должным образом - пульты не добавлены, и я не могу нажать оттуда. С помощью git add легко добавить пульт, но как мне нажать? git status говорит, что для этого требуется рабочий каталог (которого у нас нет с --bare), а git push говорит: «Все в курсе», хотя это не так (я сделал изменение на ПК1 и git отправил на сервер ) * * тысяча двадцать-один
Создание репозитория на сервере без --bare означает, что у него есть собственный рабочий каталог, поэтому, когда я запускаю push с ПК, сервер не подхватывает это (полагаю, мне как-то нужно git pull из ПК, но я хочу этого избежать).
Я пропустил здесь шаг?