2014-01-22 3 views
0

я не нашел четкий ответ на этот (многие вещи подавляющие новичков в мерзавце):Как синхронизировать github с локальным хранилищем?

У меня есть локальный репозиторий и пульт дистанционного управления на GitHub, состоящее из файлов: A, B и C.

  • Сегодня утром я сменил локальный файл A.
  • В полдень удаленный B был изменен.
  • Позже я решил изменить некоторые комментарии в местного файла C и некоторый код на дистанционного C.

Моя Жеребьевка изображающей файлы и их изменения:

local  remote 
A -------> A 
B <------- B 
C <------> C  

Вечером я просто смотрю на репозитории. Есть ли шанс закончить быстро? Кто угодно?

+0

@jessh Следует отметить некоторые вещи здесь: сразу после выполнения 'pull' мы должны выполнить 'git reset A', иначе ** remote ** A будет ** перезаписывать новейшие локальные A **! Затем добавьте и зафиксируйте (**, но **, если ваш местный C является самым новым, тогда он будет потерян!) Мой проект https://github.com/centurianii/g3measure – centurian

+0

@ МалъСкрылевъ пытается понять 'stash' ... ! – centurian

ответ

2

Заполните все ваши местные изменения. Убедитесь, что ваш рабочий каталог чист:

$ git status 

должен вернуться: nothing to commit, working directory clean

Затем потяните на изменения пульта:

$ git pull remote-name branch-name 
# it's probably git pull origin master 

Затем нажмите изменения, чтобы поделиться с пульта дистанционного управления:

$ git push origin master 
1

Мое местное рабочее место позволяет развязать тяговые и толкающие ступени operly, и она заключается в следующем:

  1. Храните местные неподтвержденные изменения с git stash:

    git stash 
    
  2. Обновить локальный репо с разнесенной версии одного:

    git pull 
    

    Таким образом, вы получите :

    local  remote 
    B <------- B 
    C <------- C 
    
  3. Применить локальные изменения, и объединить все inconsistiences, исправить файлы если потребуется, и добавить их в индекс, и совершить слияние:

    git stash pop 
    vim ... 
    git add . 
    git commit 
    
  4. Редактировать файл C и его фиксации.

    vim C 
    git add C 
    git commit 
    
  5. Нажимные изменения в REMOVE репо:

    git push 
    

    Таким образом, вы получите:

    local  remote 
    A -------> B 
    C -------> C 
    
Смежные вопросы