Учитывая распределенную природу Git, существуют буквально сотни различных рабочих процессов, так что это только один пример.
Другой пример популярного рабочего процесса описан здесь
Где я буду создавать GIT-репозиторий? Код хранится в
Server1 / Code и в Code у нас есть различные проекты, так что я должен
создать хранилище в Server1 / Code?
Вы должны создать хранилище на Сервере1 / Код:
git init &&
git add . &&
git commit -am "Initial commit"
Выше добавлено все в хранилище (возможно, вы захотите исключить некоторые файлы, поэтому сначала поместите то, что вы хотите исключить из хранилища, в файл .gitignore в корне проекта)
После того, как я создаю хранилище, как мы можем получить копию, скажем,
Проект A хранится в Server1 / Code / ProjectA? Будем ли мы просто скопировать вставить
папку или использовать GIT?
Если вы используете общий ресурс, вы можете клонировать его в режиме git file:
git clone file:////<host>/<share>/<path>
Потому что каждый из нас будет иметь свою собственную копию в Моих документах и работать над
эта копия в течение дня, как мы будем объединять файлы в конце
чтобы ничего не потерялось? Допустим, я создал новую форму в
VS2008 с кнопкой и кодом позади нее, а другой парень
изменил какой-то код где-то еще? Или, например, я добавляю код
FormA и он тоже добавляет код в FormA? Как мы объединяем их в
конец
Обычно вы работаете в местном филиале:
git checkout -b local_feature_branch
Когда вы закончите, вы можете увидеть, что изменилось на "сервере", используя git fetch origin. Это только обновит ваше представление о том, что произошло на сервере, но не отменит изменения.
Когда вы будете готовы отправить свои изменения на сервер:
1) Зафиксировать изменения
git commit -am "My changes"
2) Отменить изменения на сервере в вашем местном филиале:
git checkout master && git pull origin master
3) Слияние или перебазирование вашей функциональной ветви в локальную копию мастера
Объединить:
git merge local_feature_branch
Rebase:
git checkout local_feature_branch &&
git rebase master &&
git checkout master &&
git merge local_feature_branch
Ознакомьтесь с разницей между слиянием и перебазированием в ответе ниже:
Рабочий процесс Git и ребаз против вопросов слияния
Если есть конфликт (например, если вы оба редактируете одну и ту же форму и т. Д.), Git сообщает вам, что произошел конфликт слияния и какие файлы нужно слить. После слияния вы добавляете объединенный файл:
git add merged_file
И совершить:
git commit -am "Merged with master"
Наконец, вы отправляете изменения обратно на «сервер»:
git push origin master