примеры кода
Для отслеживания удаленных филиалов
git remote add -t master Hnr git://github.com/userName/files.git
Это не скачивает вам ветку. Он просто редактирует файл .git/config и добавляет несколько строк, которые сообщают Git, как и как получать данные удаленно.
Чтобы получить ветвь своего товарища по команде, запустите
git fetch Hnr
Чтобы увидеть, что у вас действительно есть ваши товарищи по команде филиала, запустить
git branch -a
или, чтобы видеть только ваши друг ветви
git branch -r
Эти две команды вызвали мое замешательство изначально, так как я их не знал. Это заставило меня попробовать другие ненужные команды, чтобы иметь ветви для меня.
второй способ иметь филиал вашего друга
Однако, обратите внимание, что вы можете использовать ГИТ-клон, чтобы иметь код вашего друга в отдельный каталог следующим
git clone UrlAtGithub
Затем, вы можете по-видимому, использовать Git-пульт, как описано выше, чтобы иметь филиал в вашем Git репо:
git remote add master Hnr PATH/ToYourFriendRepo.git
Заключение: Вы можете использовать два способа для вашего филиала teamMate для вас, либо с помощью git-clone, либо без него. Оба способа требуют использования git remote add
. Преимущество последнего, по-видимому, состоит в том, что вам нужно выполнить меньшую команду. Затем первый снова дает вам полное репо вашего teamMates для вашего жесткого диска.
Пожалуйста, ознакомьтесь с руководствами Git о том, как вы можете обновлять удаленные ветви. (NB удаленного филиал может быть на вашем компьютере. Он не должен находиться на удаленном компьютере. Ваша отрасль может быть удаленным филиалом тоже, но это ограничивает рабочий процесс.)
Вы можете в следующем хотите чтобы объединить файл вашего друга в ваш филиал. В этом случае достаточно знать 5 первых букв вашего друга, чтобы объединить файл.
[Я не знаю, как вы можете сделать следующее:] Вам необходимо запустить, например
git merge 76a32
Вы можете получить следующий вывод
CONFLICT (add/add): Merge conflict in shells/externalPrograms
Auto-merging shells/smallApps/extract
CONFLICT (add/add): Merge conflict in shells/smallApps/extract
Auto-merging shells/smallApps/extract~
CONFLICT (add/add): Merge conflict in shells/smallApps/extract~
Automatic merge failed; fix conflicts and then commit the result.
В этом случае, ваши файлы значительно отличаются от ваших друзей, и Git не может решить, какой файл взять. Вы должны работать по-видимому, следующий
git rebase
и вы получите
shells/smallApps/extract: needs merge
shells/smallApps/extract~: needs merge
cannot rebase: you have unstaged changes
Упражнение 1: Однако, сейчас я в застрял, так как мои салить не показывает мой друг совершить в моем Git дереве , Как вы можете получить поручение вашего друга 76a32 вашему дереву Git, какая ветка находится в вашем Git?
Возможно, вы решили проблему. Проблема заключалась в том, что я проигнорировал решение конфликтов, о которых Гит дал мне уведомления. Google экономит день снова на official Git site:
Если возникают конфликты - например, если тот же файл изменяется в двух различными способами в удаленном филиале и местного отделения - тогда вы Предупреждение -
Следующая проблема заключается в том, чтобы очистить проблематичные детали и снова слиться. Вы видите что-то похожее на следующее в ваших проблемных файлах - получайте удовольствие! (Я, наконец, добраться до реальных проблем;)
alt text http://dl.getdropbox.com/u/175564/exampleGitProblemSolving.png
Проблема в сравниваете и слияние точечных файлов в FileMerge Мака
мне нужно обновить Git, так как только новейший Git имеет difftool -command. Вы можете найти решение на thread.
Difftool позволяет запускать dotFiles в FileMerge с терминала. Вы не можете получить к ним доступ в GUI. Он работает как
git difftool master:README dev:README
Проблемы с вашим счетом в Github после добавления новой учетной записи удаленного
Вашего счета GitHub может быть исчезли в .git/конфигурации. В этом случае вам необходимо выполнить следующий код
git remote add -f YourUserName [email protected]
Вы тогда можете заметить, что вы не можете ГИТ-толчок обычно от
git push origin master
Вы можете получить следующее сообщение об ошибке
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Вы также можете попробовать следующие команды для решения проблемы
git push Masi master
и все 3 под 2 перестановки Маси, мастера и происхождения. Однако ни одна из команд не работала.
Exercise 2: Как вы можете зафиксировать свою учетную запись github, поскольку у вас есть teamMate в удаленном списке?
Происхождение - это короткое имя для вашего фактического внешнего git-repo, например, в Github. Содержимое вашего источника переменной может быть заменено другим удаленным репо. В этом случае я рекомендую вам создать новую переменную
git remote add github [email protected]:myLogin/myProject.git
Обратите внимание, что вы могли бы origin2 в месте GitHub. Происхождение - это просто соглашение об именах репо.
Вы можете просто запустить
git push github master
Вы можете иметь ключевую фразу в вашем SSH-ключа. Если у вас есть, вы можете получить разрешение denied -warning. Если вы это сделали, просмотрите thread.
Я принимаю этот ответ, так как его достаточно «в глубину». Однако, пожалуйста, см. Ответ Самуила и мой ответ о конкретных примерах для решения проблемы. -- Спасибо за ваш ответ! –
@VonC: ** Работает ли модуль ruby «удаленные ветви» в вашем Ubuntu Jaunty? ** Он получает команду 'grb not found' после установки rubygems и всех зависимостей, перечисленных в файле README. –
@Masi, да, он должен (не тестировался напрямую): 'sudo gem install git_remote_branch --include-dependencies' должен делать это, если ваш' $ PATH' ссылается на рубинский 'bin' каталог для скриптов. – VonC