progit2-ja
progit2-ja copied to clipboard
現行訳指摘: 03-git-branching/remote-branches
指摘箇所1 以下、指摘箇所は長いですが、まとめて数点指摘
原文
Just like the branch name ``master'' does not have any special meaning in Git, neither does ``origin''.
While ``master'' is the default name for a starting branch when you run `git init` which is the only reason it's widely used, ``origin'' is the default name for a remote when you run `git clone`.
If you run `git clone -o booyah` instead, then you will have `booyah/master` as your default remote branch.
現行訳
Git の ``master'' ブランチがその他のブランチと何ら変わらないものであるのと同様に、
``origin'' もその他のサーバーと何ら変わりはありません。
``master'' ブランチがよく使われている理由は、ただ単に `git init` がデフォルトで作るブランチ名がそうだからというだけのことでした。
同様に ``origin'' も、`git clone` を実行するときのデフォルトのリモート名です。
たとえば `git clone -o booyah` などと実行すると、デフォルトのリモートブランチは `booyah/master` になります。
指摘
- 「その他のブランチと何ら変わらない」誤訳。masterという名前、単語に特別な意味はないことを言っています。他との比較は表現されていません。かつての原文には、そういう表現があったのでしょうか??
- 「..であるのと同様に」Just like と neither を合わせた訳出方法としてこう表現したのだと思いますが、"これぞ直訳調"という表現なのでうまくないと感じます。
- 「``origin'' もその他のサーバーと何ら..」 1つめの指摘と全く同じ理由で誤訳。ネーミングに特別な意味はないということ。
- 「``master'' ブランチがよく使われている理由は」 読み間違えているのか、意図しているのか、理由の説明が逆であり誤訳と思います。オチを先に説明してしまっている。
- 「たとえば
git clone -o booyah
などと実行すると」instead は特に明確には訳出していない様子。instead の意味は蛇足ながら "origin ではなくその代わりに" の意を含みます(instead of allowing it to use the name "origin" の略)。この意義を訳に込めるなら、前文からの流れで「デフォルトではorigin なんですけど、だけど(originには特別の意味がないから気にくわないのでしたら)こう実行すれば違うようにもできますよ」というニュアンスを含めたいと思います。私が答えとする案は「ですから ... を実行すれば」です。"ですから" に instead のニュアンスを込めています。さらに "実行すれば" という仮定法的な表現も instead に沿う表現と考えます。
試訳
Git で用いられるブランチ名 ``master'' に特別な意味はありません。
``origin'' についても同じです。
``master'' はブランチを作り始めたときのデフォルト名であり、`git init` の実行時に名前がつけられます。
デフォルトとしているのは、単に広く用いられている単語だからです。
``origin'' もリモートに対するデフォルト名であり `git clone` の実行時に名前がつけられます。
ですから `git clone -o booyah` といったコマンドを実行すれば、
デフォルトのリモートブランチは `booyah/master` になります。
指摘箇所2
原文
Also, as long as you stay out of contact with your origin server, your `origin/master` pointer doesn't move.
現行訳
また、origin サーバーと再度接続しない限り、`origin/master` が指す先は移動しません。
指摘
- 「再度接続しない限り」as long as you stay out を裏返しに訳したものと思いますが、微妙に誤りと思います。接続しさえすればポインタ移動するかのような表現であるからです。裏返し訳とするのでなく、素直に訳すのがよいと思います。
試訳
また origin サーバーとのやりとりを行っていない状態では、`origin/master` へのポインタは移動しません。
指摘箇所3
原文
Because that server has a subset of the data your `origin` server has right now, Git fetches no data but sets a remote-tracking branch called `teamone/master` to point to the commit that `teamone` has as its `master` branch.
現行訳
今回、このサーバーが保持してるデータは `origin` サーバーが保持するデータの一部なので、Gitは何のデータも取得しません。
代わりに、 `teamone/master` というリモート追跡ブランチが指すコミットを、`teamone` サーバーの `master` ブランチが指すコミットと同じにします。
指摘
- 「今回」 right now をそう訳したのか、やや不思議な訳。
- 「このサーバーが保持してる ... データの一部なので」もっさりとして、やや分かりにくい。日本文としてもっとこなれたものにできるはず。
- 「代わりに」 これもやや不思議な訳。"データを取得しない"ことと"ポインタを定める"ことは、両者が全く別の事柄なので、「あちらの代わりにこちらをする」と並列列記、対等、対比される対象ではないと思います。そのため「代わりに」が当てはまらないと考えます。
- 「リモート追跡ブランチが指すコミットを」何が書いているのか、英文を読んでいるからこそ原義は理解できていますが、この日本語文からは内容がよくわかりません。たぶん読者は、つぶさに掲載図とにらめっこしながら理解しようとするものの、この文章では理解できないと思います。これももっさりしています。「コミットと同じにします」という表現は原文に存在しません。
試訳
そのサーバーには、現時点の `origin` サーバーが持つデータの一部分がそのまま含まれています。
したがって fetch を行っても取得するデータはありません。
しかしこのときには `teamone/master` というリモート追跡ブランチが設定され、
`teamone` の `master` にあるコミットを指し示すようになります。
補足説明
- 2 文目「fetch を行っても」とユーザー操作視点で訳したため、原文上の主語 Git を訳からはずしました。