Багато людей радять використовувати 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
…