Багато людей радять використовувати git update-index --assume-unchanged. Дійсно, це може бути вдалим рішенням, але лише в короткостроковій перспективі.
Те , що ви , ймовірно , хочете зробити це: git update-index --skip-worktree.
(Третій варіант, який ви, мабуть, не бажаєте:) git rm --cached. Він збереже ваш локальний файл, але буде позначений як видалений з віддаленого сховища.)
Різниця між першими двома варіантами?
assume-unchangedполягає в тимчасовому дозволі приховати модифікації з файлу. Якщо ви хочете приховати зміни, внесені до файлу, змінити файл, а потім оформити іншу гілку, вам доведеться використовувати no-assume-unchangedтоді, ймовірно, зроблені сховані зміни.
skip-worktree буде стежити за вами будь-якою філією, яку ви оформили, з вашими змінами!
Використовуйте корпус assume-unchanged
Він передбачає, що цей файл не слід змінювати, і він дає більш чистий вихід під час роботи git status. Але, переходячи до іншої гілки, вам потрібно скинути прапор та здійснити або приховати зміни до цього. Якщо активувати цю опцію активовано, вам потрібно буде вирішити конфлікти, і git не автоматично злиється. Насправді він приховує лише модифікації ( git statusне відображатиметься вам файлів, на яких позначено прапор).
Мені подобається використовувати його, коли я хочу лише на деякий час зупинити відстеження змін + здійснити купу файлів ( git commit -a), пов’язаних з тією ж модифікацією.
Використовуйте корпус skip-worktree
У вас є клас налаштування, що містить параметри (наприклад, включаючи паролі), які ваші друзі повинні змінити відповідно до їх налаштування.
- 1: Створіть першу версію цього класу, заповніть поля, які ви можете заповнити, а інші залиште порожніми / null.
- 2: Введіть і натисніть на віддалений сервер.
- 3:
git update-index --skip-worktree MySetupClass.java
- 4: Оновіть свій клас конфігурації за допомогою власних параметрів.
- 5: Поверніться до роботи над іншою функціональністю.
Зміни, які ви робите, підуть за вами, незалежно від галузі. Попередження: якщо ваші друзі також хочуть змінити цей клас, вони повинні мати однакові настройки, інакше їх модифікації будуть перенесені у віддалений сховище. Під час витягування віддалена версія файлу повинна перезаписати вашу.
PS: робіть те чи інше, але не обидва, оскільки у вас виникнуть небажані побічні ефекти. Якщо ви хочете спробувати інший прапор, попередньо слід вимкнути останній.
.csprojфайлі, що дуже важлива частина будь-якого проекту. Зміни у.csproj.userфайлі чи будь-яких.Publish.XMLфайлах я можу повністю зрозуміти, не відстежуючи, але мене заінтригувало, чому ви не хочете відслідковувати.csproj…