согласие на то же ответвление с мерзавцем

Я использовал альтернативу RegEx, ища домен в реферере.

if (document.referrer.indexOf('reddit.com') >= 0) { alert('They came from Reddit.com'); }

РЕДАКТИРОВАТЬ: как thekingoftruth указывает, что не работает, если reddit.com включен в параметр URL поэтому я немного его расширил. Я также добавил toLowerCase (), когда заметил это в RegExp выше.

if (document.referrer.indexOf('?') > 0){
    if (document.referrer.substring(0,document.referrer.indexOf('?')).toLowerCase().indexOf('reddit.com') >= 0){
    alert('They came from Reddit');
    }
} else {
    if (document.referrer.toLowerCase().indexOf('reddit.com') > 0){
            alert('They came from Reddit');
    }
}
21
задан Palash Ahuja 14 March 2015 в 17:50
поделиться

4 ответа

Что ж, когда вы клонируете репозиторий git (это то, что вы имели в виду под «проверкой»?), Вы фактически создаете новую ветку. Ветви Git являются локальными для каждого репозитория, а не глобальными. Сказав это, у вас есть протокол того, как обновления веток передаются между репозиториями - например, когда вы извлекаете данные с пульта дистанционного управления, его «главная» ветвь объединяется с вашей «главной» веткой. И когда вы нажимаете, ваша «главная» ветвь может быть добавлена ​​ к главной ветке удаленного компьютера. Итак, ваш главный и удаленный мастер ("origin / master", если хотите) - разные ветки, но связаны между собой по соглашению.

Возвращаясь к сути - вы заметили, я сказал, что ваша главная ветвь может быть добавлена при нажатии на пульт. Если два человека взяли копию origin / master и внесли независимые изменения (помните, что это похоже на внесение изменений в две ветки локально), после того, как один человек отправил свои изменения, изменения другого человека не будут простым добавлением в origin / master больше --- их нужно объединить. Этого не может произойти, когда вы нажимаете, только когда вы вытягиваете (что сбивает с толку, «pull» не совсем противоположность «push»: «fetch» ​​- противоположность push - pull - это выборка, за которой следует слияние (или a rebase)).

Итак, если вы находитесь в такой ситуации, тот, кто пытается отправить свои изменения, сначала должен откатиться от обновленного источника / мастера, объединить или переустановить свою версию мастера, а затем нажать. По умолчанию вы не можете удалить чьи-то изменения в ветке и заменить их своими: для этого вам нужно хотя бы выполнить «git push -f», а в удаленном репозитории могут быть настройки или перехватчики, которые значительно усложнят задачу.

Или они двое могут сотрудничать заранее: один из них извлекает изменения другого , выполните слияние, а затем нажмите результат. Это может быть полезно, если есть вероятность, что изменения будут накладываться друг на друга или влиять друг на друга. Помните Первый закон систем контроля версий: VCS не заменяет коммуникацию .

Вполне вероятно, что изменения будут накладываться друг на друга или влиять друг на друга. Помните Первый закон систем контроля версий: VCS не заменяет коммуникацию .

Вполне вероятно, что изменения будут накладываться друг на друга или влиять друг на друга. Помните Первый закон систем контроля версий: VCS не заменяет коммуникацию .

38
ответ дан 29 November 2019 в 06:54
поделиться

Более короткий ответ:

commit -m "my changes"

Получить общую версию

git fetch sharedrepo

одну из этих двух, чтобы синхронизировать локальную ветвь с другим репо

git merge sharedrepo/sharedbranch
git rebase sharedrepo/sharedbranch

Rebase сериализует историю, если вы не хотите, чтобы в финальной истории было много ветвей. Оба варианта могут заставить вас решать конфликты до того, как вы закончите.

После слияния / перебазирования и разрешения конфликтов вы возвращаетесь в репо.

git push sharedrepo HEAD:sharedbranch

Не используйте -f здесь, так как это должна быть перемотка вперед. Если вам не повезло, возможно, кто-то другой выставил новую версию. В таком случае перезапустите эту процедуру.

6
ответ дан 29 November 2019 в 06:54
поделиться

Несколько человек могут работать в одной ветке одновременно. Когда вы потянете (или попросите другого человека отправить) его изменения вам, git объединит изменения вместе, в результате чего появится ветка с обоими вашими изменениями.

0
ответ дан 29 November 2019 в 06:54
поделиться

В Git ветки строго локальные . Один разработчик не может изменять удаленные ветки другого разработчика (см. Примечание внизу). Однако в случае чистого репозитория вы можете «протолкнуть» свои изменения в него, чтобы обновить ветки удаленного репозитория, если ваши изменения приведут к быстрой перемотке вперед.

Но если два разработчика фиксируются в одном и том же удаленном репозитории, тогда только один сможет перемотать удаленную ветку вперед без предварительного обновления своей ветки.

Например, предположим, что Алиса и Боб оба работают над основная ветвь в своих локальных репозиториях, каждый из которых клонирован из общего (голого) репозитория на сервере. Если Алиса первой завершает свою работу, когда она помещает свои зафиксированные изменения в общий пустой репозиторий, он переместит вперед основную ветвь репозитория.

Теперь Боб не может перемотать вперед основную ветвь репозитория без предварительного обновления своей локальной ветки, чтобы включить коммиты, добавленные Алисой (потому что добавленные им коммиты не являются предками совершает, созданное Алисой).

Один из способов, которым Боб может сделать это, - это вытащить (или, предпочтительно, переустановить) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветвь Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно извлекать данные друг от друга напрямую, без использования общей пустой репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

Теперь Боб не может перемотать вперед основную ветку простого репо без предварительного обновления своей локальной ветки, чтобы включить в нее коммиты, добавленные Алисой (поскольку добавленные им коммиты не являются предками коммитов, созданных Алисой).

Односторонний Боб может сделать это, чтобы извлечь (или, желательно, перебазировать) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветку Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

Теперь Боб не может перемотать вперед основную ветку простого репо без предварительного обновления своей локальной ветки, чтобы включить в нее коммиты, добавленные Алисой (поскольку добавленные им коммиты не являются предками коммитов, созданных Алисой).

Односторонний Боб может сделать это, чтобы извлечь (или, желательно, перебазировать) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветку Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

в главной ветке без предварительного обновления своей локальной ветки, чтобы включить в нее коммиты, которые добавила Алиса (поскольку добавленные им коммиты не являются предками коммитов, созданных Алисой).

Один из способов, которым Боб может это сделать, - это потянуть (или, предпочтительно, переустановить ) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветку Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

в главной ветке без предварительного обновления своей локальной ветки, чтобы включить в нее коммиты, которые добавила Алиса (поскольку добавленные им коммиты не являются предками коммитов, созданных Алисой).

Один из способов, которым Боб может это сделать, - это потянуть (или, предпочтительно, переустановить ) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветку Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

добавленные не являются предками коммитов, созданных Алисой).

Один из способов, которым Боб может сделать это, - это вытащить (или, предпочтительно, перебазировать) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветку Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

добавленные не являются предками коммитов, созданных Алисой).

Один из способов, которым Боб может сделать это, - это вытащить (или, предпочтительно, перебазировать) из чистого репо после того, как Алиса подтолкнула свои коммиты. Это объединит изменения Алисы в ветку Боба и позволит Бобу перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозиторий. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

s ветвь и дать Бобу возможность перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозитория. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

s ветвь и дать Бобу возможность перемотать вперед основную ветвь репозитория с помощью push.

Возможны и другие рабочие процессы: Алиса и Боб могут совместно получать данные друг от друга напрямую, без использования общего открытого репозитория. На самом деле есть почти бесконечные возможности. Но в целом слияние в Git выполняется путем извлечения изменений.

[примечание: на самом деле можно загружать репозитории, отличные от голых, и тем самым обновлять ветки других людей, однако это часто дает неинтуитивные результаты, не считается типичным рабочим процессом git и обычно не рекомендуется]

8
ответ дан 29 November 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: