путаница в структуре каталогов git - PullRequest
4 голосов
/ 05 августа 2011

Исходя из svn-фона, хотя я и не был таким опытным пользователем, у меня была путаница со структурой каталогов git.

Для проекта C ++ я прочитал первые 3 главы книги pro git, которая находится в сети. Я думаю, что это довольно хорошая книга с множеством цифр, которые облегчают объяснения.

Теперь вопрос в том, что svn создавал директорию транка, в которой находились мой заголовок и исходные коды, а именно (точнее, я создавал их с помощью команд svn), каталоги include и src. В первых 3 главах и после этого я не видел подобной структуры. Вопрос в том, что является наилучшей стратегией для структурирования вашей работы по таким каталогам: создавать разные каталоги и добавлять файлы в этих каталогах отдельно для контроля отслеживания, или существует более структурированный способ сделать это в целом?

Думаю, мне не нужно хранить все в одном месте, что маловероятно ...

Ответы [ 3 ]

8 голосов
/ 05 августа 2011

Вы можете использовать любую структуру папок, какую пожелаете.

Если вы хотите иметь

myproject
  |-- src
  |-- include

, это нормально. Вам (конечно) не нужно хранить все в одном месте .

Единственное, что (при условии, что myproject является корнем вашего репо) у вас будет папка .gitтам, где хранятся данные репо:

myproject
  |-- .git
  |-- src
  |-- include

В отличие от папок .svn в каждой папке рабочей копии SVN, Git использует только эту одну папку для отслеживания репо.

7 голосов
/ 05 августа 2011

svn не имеет реальных тегов и веток, все это просто копия другого файла или папки. git поддерживает настоящие ветки и не нуждается в структуре каталогов, подобной svn. просто создайте структуру каталогов, необходимую для вашего проекта - для ветвления и тегирования используйте git branch и git tag соответственно (в отличие от команды svn copy в Subversion)

3 голосов
/ 05 августа 2011

git делает четкую разницу между содержимым ревизии (файлы, которые расположены в дереве каталогов) и историей ревизий и вашими ветвями.

Так что обычный пользователь git не будет создавать каталоги, такие как trunk иветви.Один коммит действительно содержит только файлы, принадлежащие этой ревизии.Все зависит от вашего содержания, ни одна git book не порекомендует, как он должен выглядеть.

Чтобы посмотреть историю изменений, используйте инструмент gitk.

Конечно, если вы действительно хотите, вы можете создавать каталоги ствола, филиалов и т. д. Git не будет жаловаться.Пользователи SVN могут быть рады видеть такое репозиторий, пользователи git, вероятно, не так уж и много.

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