Я только что прошел все доступные упражнения по адресу http://learngitbranching.js.org/, и сейчас я чувствую себя очень уверенно. Я понял все это и сделал каждое упражнение, не думая слишком много. Очевидно, что это только упражнения для начинающих, и сейчас я просто начинающий Git, но мне было хорошо понять что-то. Теперь я могу правильно управлять версией своей работы, вместо того чтобы полагаться на копирование файлов рабочих версий.Нажатие изменений на основе старой фиксации, как ее решить?
Во всяком случае, у меня есть вопрос о слиянии обратно в пульт, который может ввести ошибку/
Рассмотрим такой сценарий:
Я проверить последнюю мастер ветвь на Remore репо в понедельник и ответвлении локально для работы над новой функцией. Эта функция, скажем, взаимодействует с некоторыми методами класса в пользовательском определенном классе,
Теперь во вторник мой друг проверяет ведущую ветку, и он разветвляет ее локально и решает, что у него лучший способ для того же класса. Поэтому он идет вперед и вносит изменения в класс, возможно, удаляя некоторые методы внутри него и записывая разные. Допустим, он совершил эти изменения и оттеснил их обратно в источник/мастер на пульте в среду.
Теперь его четверг, и я только что провел последние три дня, написав новые функции, которые взаимодействуют с обновленным классом. Скажем, мои функции требуют некоторых методов класса, которые мой друг удалил, когда он обновил работу класса. Я делаю тягу и толчок, и что происходит?
Я предполагаю, что происходит, когда я вытаскиваю свои файлы, обновляется с последней версией класса и методов внутри него, а моя функция, которая может быть отдельным файлом, будет сливаться с новым мастером, таким образом, включая файл, который ссылается теперь устаревшая версия класса. Поэтому, когда я нажимаю, я просто нажимал функции, которые не будут работать, и будут иметь ошибки (или, что еще хуже, даже не компилировать), потому что ссылаются на методы, которых не существует.
Это обычное явление? Как это разрешено в производстве? Вам просто нужно устно общаться с вашей командой, когда какой-то класс изменился, и что любой, кто работает над функцией, связанной с этим классом, должен основывать свои функции на новом классе?
ли ваш друг полностью удалить функции/функции, которые полагаются на, или же он только реорганизовывать их (например, изменить интерфейс функций/классов)? – Darthfett