Получаване на Git-концепция "етап"

Все още е трудно да намеря главата ми, увита в концепцията за постановка, както се отнася за Git.

Възможно ли е да се направи аналогия със SVN? Каква е основната цел да се създаде ниво на сцената в git?

7
28 июля '12 в 20:25 2012-07-28 20:25 eco_bach е настроен на 28 юли 2012 г. в 20:25 2012-07-28 20:25
@ 3 отговора

прилики:

За да проследите, трябва да добавите файлове, които трябва да са част от хранилището. За да направите това, и двата инструмента използват командата add . Добавянето на файлове означава подготвяне на фиксация.

разлики:

Git ви позволява да добавяте допълнителни файлове при добавяне на файлове. Можете да решите да добавите цял файл или отделни редове от код. Добавянето на файлове към индекс или стъпка осигурява по-голяма гъвкавост. SVN автоматично улавя всички промени във файл, който вече е добавен към хранилището. Git оставя решение за това какви промени са свързани с всяка транзакция с потребителя. С други думи: следващото въвеждане в Git съдържа само тези промени (низове или файлове), които са били зададени, независимо от състоянието на проследяване на файлове. SVN автоматично включва всички промени в следените файлове.

Допълнителна информация:

Опитайте да прочетете някои съобщения, описващи работните потоци на Git, например един от Oliver Steele . Но имайте предвид, че има повече от един начин да използвате Git - има много от тях. Ако искате, можете да използвате Git, както ако работите с SVN.
Не очаквайте да разберете философията на Git за кратък период от време. Отне ми година да вляза в него и все още проучвам нови начини да го използвам. Мисля, че е още по-трудно, ако сте израснали с мисленето на SVN. Има много материали: статии, видеоклипове, ... - отделете време и опитайте някои от тях. Ето селекция от списъка, който събрах.

7
28 июля '12 в 20:41 2012-07-28 20:41 отговорът е даден от jjd 28 юли '12 в 20:41 2012-07-28 20:41

Основното предимство на областта за спиране е, че можете лесно да заснемете само част от промените в даден файл. (Например, използвайки git add -p .) Доколкото знам, единственият начин да се извърши частичен ангажимент към SVN е на нивото на всеки файл или ръчно да се създаде резервно копие на файла и след това временно да се върнат промените, които сте наели, за да се ангажират.

Чудесно е ако (като мен) не сте много организиран разработчик и искате да можете да подредите промените в "чисти" поправки след факта. Това следва общото предпочитание на Git да ви даде гъвкавост за налагане на строгост. Ако не ви трябва, винаги можете да не го използвате и да използвате git commit -a ...

border=0

Няма аналогии със SVN, тъй като SVN не е Git и няма такова нещо.

6
28 июля '12 в 20:35 2012-07-28 20:35 отговорът е даден millimoose 28 юли '12 в 20:35 2012-07-28 20:35

Ето някои от сценариите, които показват полезността на продукцията:

  • Работите по определена част и сте направили много промени в проекта си. Вие не искате да ги правите, преди да тествате всичко. Но тези промени често могат да бъдат достатъчно независими, за да направят няколко логически грешки, отколкото една голяма. Това е, когато правите селективни части и правите няколко ангажирания.

  • Настройката е особено полезна при отстраняване на грешки. Можете да поръсите журнални отчети, за да проследите източника на грешката. След това ще извършите корекцията и опитайте отново с тези отчети. Но след това искате да поправите корекцията, преди да направите някакви промени в кода, за да премахнете тези отчети.

  • Друг сценарий, който се оказа полезен, е когато сте в средата на нещо и откриете нещо несвързано, например, печатна грешка, която искате да коригирате, и бързо я елиминирате.

Има няколко други подобни сценария и вероятно няма да можете да работите с нищо, което няма тази концепция, веднага щом го окачите :).

PS: Изобщо не използвах SVN, така че не мога да ги сравня.

4
28 июля '12 в 20:53 2012-07-28 20:53 отговорът е даден Sailesh 28 юли, '12 в 20:53 2012-07-28 20:53

Други въпроси относно тагове или Ask a Question