我有分支,该分支的所有更改都在主(HEAD)。但是git diff master...feature/5492_new_currency
告诉我它不是。我哪里错了?
$ git diff master...feature/5492_new_currency
diff --git a/app/locale/ru/LC_MESSAGES/lang.po b/app/locale/ru/LC_MESSAGES/lang.po
index 9274c9e..6b9d1ae 100644
--- a/app/locale/ru/LC_MESSAGES/lang.po
+++ b/app/locale/ru/LC_MESSAGES/lang.po
@@ -4531,6 +4531,10 @@ msgstr "$"
msgid "currency:UZS"
msgstr "сум."
+# Британский фунт
+msgid "currency:GBP"
+msgstr "£"
+
msgid "datepicker:prevText"
msgstr "Пред>"
diff --git a/app/protos/defaults.ini b/app/protos/defaults.ini
index 4742982..4de9ea3 100644
--- a/app/protos/defaults.ini
+++ b/app/protos/defaults.ini
@@ -2,8 +2,8 @@ BASE_DOMAIN = xxxxx
INSTANCE_COUNTRY = ru
INSTANCE_LANGS = ru en
DEFAULT_LANGUAGE = ru
-# Доступные валюты стран для магазинов: РФ, США, Евро, Казахстан, Украина, Китай, Молдова, Армения,
-INSTANCE_CURRENCY = RUB USD EUR KZT UAH CNY MDL AMD UZS AZN KGS TJS TMT GEL LVL LTL
+# Доступные валюты стран для магазинов: РФ, США, Евро, Казахстан, Украина, Китай, Молдова, Армения,
+INSTANCE_CURRENCY = RUB USD EUR KZT UAH CNY MDL AMD UZS AZN KGS TJS TMT GEL LVL LTL GBP
MAIL_FROM = xxxxx
MAIL_FEEDBACK = xxxxx
kes@backend01:~/site/app$ git branch
feature/5492_new_currency
* master
production
kes@backend01:~/site/app$ cat locale/ru/LC_MESSAGES/lang.po | grep -A 5 -B 5 'msgid "currency:GBP"'
# Узбекистан
msgid "currency:UZS"
msgstr "сум."
# Британский фунт
msgid "currency:GBP"
msgstr "£"
msgid "datepicker:prevText"
msgstr "Пред>"
kes@backend01:~/site/app$ git branch -d feature/5492_new_currency
warning: deleting branch 'feature/5492_new_currency' that has been merged to
'refs/remotes/origin/feature/5492_new_currency', but not yet merged to HEAD.
Deleted branch feature/5492_new_currency (was ab38009).
答案 0 :(得分:1)
您是否尝试git fetch
查看回购已更新?您可能没有在计算机上更新它。
在网上查看您的回购。如果它将您的分支显示为已合并,则为。如果是,则强制将更新推送到Github桌面。
希望这有帮助!
答案 1 :(得分:1)
git diff master...feature/5492_new_currency
[显示一些差异]
三点语法A...B
在Git中具有特殊含义。更确切地说,它具有两个特殊含义,一个专用于git diff
。 (在其他Git命令中,它具有其他特殊含义。)对于git diff
(和仅用于git diff
),A...B
表示:
git merge-base --all A B
。将其输出ID保存在变量let中,调用此$base
。 (在shell脚本中,您可以编写base=$(git merge-base --all A B)
然后echo $base
来查看是否只有一个ID。)git diff $base B
。否则会产生一些无用的输出。 (这个“其他”部分是一个错误。它实际上并没有发生,因为你会在标题中看到diff --cc
,所以我们知道实际上只有一个ID。)由于A
此处为master
而B
此处为feature/5492_new_currency
,并且有一些差异输出,这告诉我:
git merge-base master feature/5492_new_currency
和
git rev-parse feature/5492_new_currency
会生成两个不同的ID。
这反过来暗示master
不是feature/5492_new_currency
的祖先。如果是,则master
和feature/5492_new_currency
的合并基础将是与<{1}}相同的提交ID。
您的下一个命令及其结果实际上更直接提供信息:
feature/5492_new_currency
放在一起,这两个意味着你的主张:
我有分支,该分支的所有更改都在主(HEAD)
错了!特别是,第二个结果证明给定两个ID将由以下产生:
kes@backend01:~/site/app$ git branch -d feature/5492_new_currency
warning: deleting branch 'feature/5492_new_currency' that has been merged to
'refs/remotes/origin/feature/5492_new_currency', but not yet merged to HEAD.
Deleted branch feature/5492_new_currency (was ab38009).
和
git rev-parse HEAD
来自前者的ID不是“小于或等于”来自后者的ID,即git rev-parse feature/5492_new_currency
不是HEAD
的祖先。假设feature/5492_new_currency
实际上是对HEAD
的引用,那反过来意味着master
不是master
的祖先,正如我们从第一个命令中看到的那样。它可能是“大于”(即,超前),但如果是这种情况,feature/5492_new_currency
会将git diff
与自身进行比较。因此feature/5492_new_currency
肯定不合并到feature/5492_new_currency
。它被推到了它的上游(它的上游是master
)。也就是说,名称origin/5492_new_currency
中的ID“小于或等于”您仍然可以从feature/5492_new_currency
获取的ID。
现在您的分支名称origin/5492_new_currency
已被删除,您必须使用feature/5492_new_currency
以外的其他名称对您的本地名称master
进行任何操作。最直截了当的可能是:
feature/5492_new_currency
将快进$ git checkout master && git merge origin/5492_new_currency
,或进行新的合并提交。 (要强制执行新的合并提交,即使可以快进,请使用master
。)
答案 2 :(得分:0)
我们发现了什么问题:
有人只是cherry-pick
对主分支的更改。
因此,尽管变化相同,但分支不在master