git push to branch - PullRequest
       6

git push to branch

0 голосов
/ 12 декабря 2010

У меня есть несколько странный вопрос (я думаю ...).Потерпи меня, если что-то из этого не имеет смысла;Я git noob.

У меня уже есть проект Android, который находится в его собственной папке, полностью вне репозитория, который я клонировал.То, что я хочу сделать, это просто перенести содержимое этого проекта Android в репозиторий моего коллеги.Я хочу, чтобы проект стал частью новой ветки репо.Как мне это сделать?Могу ли я просто открыть bash, зайти в папку с моим проектом Android, добавить в репозиторий пульт и нажать на него?Или, наверное, мне сначала нужно превратить этот проект в ветку репо?Если так, как бы я сделал это веткой репо, если я на самом деле работаю за пределами локальной папки репо?

Смущены?;)

Может быть, имеет смысл просто скопировать весь проект в локальную папку репо, а затем создать ветку и протолкнуть ее?

Я хотел бы получить пошаговые инструкции покак сделать это максимально эффективно.

Очень благодарен.

Ответы [ 2 ]

1 голос
/ 12 декабря 2010

Кажется, что эти два проекта в значительной степени независимы, поэтому я сильно подозреваю, что лучшим вариантом является изменение файловой структуры вашего хранилища, а не использование веток:

/path/to/repo
  +- projectA
  +- projectB

Итак, на одной машине сделайте это:

mkdir /path/to/repo
git init
cp -r /path/to/projectA .
git add .
git commit -m "Initial import of project A"

Затем на другой машине:

cd /path/to
git clone <url for repo set up on the first machine>
cd repo
cp -r /path/to/projectB .
git add .
git commit -m "Initial import of project B"

Не беспокойтесь о ветвях git. Теперь вы можете работать над проектом A и создавать коммиты; другой разработчик может работать на B. Никаких конфликтов не будет, и вы оба увидите изменения друг друга.

Я бы также порекомендовал создать где-нибудь пустой репозиторий, к которому вы оба добавляете и извлекаете:

mkdir /path/to/centralrepo
git init --bare

Затем вы можете клонировать этот репозиторий. Git одноранговый, но неплохо иметь репозиторий, который вы определяете как «центральный», особенно если вы собираетесь добавить непрерывную интеграцию или новых разработчиков в будущем.

Кажется, вы немного озадачены тем, что означает ветка git. Это ветвь во времени, а не ветвь в пространстве. То есть ветвь git означает, что разработка кода в какой-то момент в прошлом расходилась, но в какой-то момент обе ветви имеют общую историю. Например, ветвь в пространстве - это новая папка с новым проектом.

Ветви не имеют особого смысла, если ветвь A полностью отличается от ветки B: у вас также может быть целый новый репозиторий.

Извините, что такой длинный ответ. Я надеюсь, что это полезно!

0 голосов
/ 12 декабря 2010

Пусть «android project в собственной папке» будет «A», «репо, которое я клонировал» будет «B».:)

Сначала превратите ваш проект A в репозиторий git, если он не один.(git init)

Затем вы можете просто добавить его в качестве удаленного в B (git remote add ..., см. Справку) и перетащить его в локальную ветвь B (git branch --help).Затем вы можете отправить его на любой из других пультов B.

Если вы можете указать имена путей, я могу написать пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...