Огляд команд Git. Способи роботи Git. Порівняння команд Git і svn.

У цій статті я збираюся описати основні підходи до роботи з git і основними командами git проти систем subversion svn.

Автор: Сергій Тарабан

:ad:

Порівняння команд svn і git

Таблиця порівняння команд svn і git.

SVN

Git

Огляд

оновлення svn

git pull --rebase

Отримати останні зміни з віддаленого сховища

svn revert -R

git checkout. або git checkout -- .

Скасувати всі оновлені зміни.

git reset --hard origin/

Повне повернення. Зробіть свій локальний репозиторій таким же, як і віддалений. Якщо у вас є кілька ненадісланих комітів, ця команда видалить їх.

svn commit –m””

svn delete

git add -A .

git commit -m””

git push orign

Зафіксуйте зміни в локальному сховищі, а потім надішліть їх у віддалений репозиторій.

svn co [папка]

git clone [папка]

Створити локальне сховище git на основі віддаленого сховища

svnstatus

статус git

Інформація про локальне сховище.

журнал svn

git log --oneline

Показати журнал одним рядком

svn add

git add -a .

Додати всі файли для коміту: видалені, змінені чи нові

svn delete --keep-local svn rm --keep-local

git reset

Видалити файл або папку з покажчика

Не підтримується

git clean -f

Видалити всі невідстежувані файли

svn update -r

git checkout

Перейти на commit з хешем

-

git checkout

Повернути

svn видалити

git rm [ім’я файлу]

Видалити файл і додати його для коміту (до списку комітів)

svn pedit svn:ignore .

Створіть файл .gitignoreв у кореневій папці репозиторію. Потім додати існує відносний шлях до файлу або папки, які ви хочете додати до списку ігнорування.

Додати файл до списку ігнорування

Шляхи роботи Git.

Існує кілька підходів або правил роботи при роботі з git. Кожне з цих правил легко поєднується між собою.

1. спосіб SVN

Цей підхід git дуже схожий на роботу з системою контролю версій SVN. Оскільки git є розподіленою системою, ми формально маємо два репозиторії – локальний і віддалений (походження). Усі коміти ми робимо в нашому локальному сховищі за допомогою команди my commit, а потім синхронізуємо репозиторій із віддаленим за допомогою команди pull --rebase.Параметр --rebase переносить наш комміт на самий верх стеку комітів, роблячи його найважливішим. Це може призвести до деяких конфліктів, які зазвичай легко вирішити. Будьте обережні, користуючись інструментом злиття. У цьому випадку їхні файли - це ваші зміни, а мої файли - файли з віддаленого сховища.

Після цих дій нам потрібно синхронізувати наше локальне сховище з віддаленим за допомогою команди git push origin, де гілка - це поточна робоча гілка. Якби ви не робили жодних нових розгалужень, за замовчуванням буде розгалуження - master.

2. Сховати шлях

Робота через сховище буфера.

Git stash buffer - це функція, яка дозволяє приховати ваші зміни від файлової системи.

Як це працює. Припустімо, ви внесли зміни до файлів і хочете отримати останню версію вихідного коду з віддаленого сховища. Але ви не можете виконати pull –rebase, оскільки у вас є змінені файли (незафіксовані зміни). Щоб отримати нову версію файлів, вам потрібно або зробити комміт, або “сховати” ваші змінені файли.

git stash

Ця команда приховає все, що було додано до індексу. Якщо ви хочете приховати невідстежувані файли, вам потрібно виконати команду git add перед виконанням команди stash.

Тепер ви отримуєте чистий репозиторій і тепер можете виконати pull –rebase.

Після отримання ви можете повернути свої зміни зі схованки за допомогою команди git stash pop або git stash apply Різниця в командах полягає в тому, що перша очищає тайник, а друга ні. Тож ви можете використовувати сховище буфера як резервне копіювання. Оскільки stash є стековим буфером, він може зберегти багато змін.

Детальніше: git help stash

3. Розгалуження Git

Цей підхід полягає в тому, що будь-яка нова функція, яку ви реалізуєте, або помилка, яку ви виправляєте, має бути в окремій гілці. Коли виправлення або функція завершена, ви об’єднуєте цю гілку в master. Використовуючи цей підхід, настійно рекомендується працювати в різних файлах і папках для кожної гілки, щоб уникнути конфліктів злиття.

гілка git - створити нову гілку git checkout - перейти до нової гілки git push origin - push у новому сегменті у віддаленому сховищі створить там наш сегмент git branch -a - список усіх бранчів, які ми маємо на даний момент. Наша поточна гілка виділена зеленим кольором. Поточна гілка також додала команду git status.

Якщо ви зробили помилку, ви можете видалити або перейменувати бранч: git branch -d - видалити бранч git branch -m - перейменувати бранч

Наприклад, нам потрібні останні файли від бранч-майстра. Об’єднайте нашу філію з майстром бранчу. git checkout master- перейти до master git pull –rebase - оновити майстер до останніх змін git checkout [our_branch] - повернутися до зовнішньої філії git merge master - отримати зміни від master до нашої гілкиПотім ми внесли деякі зміни, виправили помилки або запровадили функцію, наприклад. Отже, тепер нам потрібно завантажити зміни в майстер. git checkout [our_branch] - перейти до зовнішньої гілки, якщо ми ще не там git pull –rebase - оновіть його до останніх змін git checkout master - перейти на master git pull –rebase - оновити майстер до останніх змін git merge [our_branch] - об’єднати наші зміни в master Злиття буде створено автоматично. Останнє, що вам знадобиться для перенесення ваших змін у віддалений репозиторій: git push origin master .

Автор: Сергій Тарабан