字幕大王流翻訳原稿作成方法その6

字幕大王流翻訳原稿作成方法その5では、TortoiseGitを使用して、既存の共有リポジトリの内容をコピー(クローン)して、自身の「個人リポジトリ」を作成する方法を示した。

作成されたフォルダには、作業領域と.gitフォルダというリポジトリ(データベース)が含まれており、.gitフォルダ内には、すべての履歴が記録されると同時に「共有リポジトリの場所」も格納されているため、これ以降の操作では、共有リポジトリの場所を指定する必要は無い。

ともあれ、この状態で好きなように、既存ファイルの編集、新規作成、削除を行うことができる。

コミットとプッシュ

ある程度編集を行ったら、それをコミットしてプッシュする。コミットとは、自分のパソコン内の個人リポジトリ(データベース)に記録することで、自分のところだけで閉じており、他のチームメンバーには一切影響しない。他者に提示するには、プッシュを行って共有リポジトリに反映させる必要がある。

ソフトウェア開発での本来的な使い方では、コミットしてもプッシュしないことが多々ある。チームメンバーの迷惑にならずに、自分だけで試行錯誤したい場合があるからだ。プログラム開発では、ほんの少しの変更でも他に多大な影響をもたらしてしまう場合があるからだ。しかし、翻訳作業などでは、常にコミットと共にプッシュをした方が良いだろう。

フォルダを右クリックして、「commit」を選択する。

これで、自分が行った変更を共有リポジトリに反映させることができるのだが、ただし、プッシュがうまく行かないことがある。その場合には、いったん次に述べるプルを行ってから、再度プッシュを行う。

プッシュを単独で行う(コミット無しのプッシュ)には、フォルダを右クリックして、以下のメニューを選択する。

プル

上とは逆に、他者が行った変更(誰かが、その個人リポジトリでコミット&プッシュして共有リポジトリに反映させたもの)を取り込むにはプルを行う。

やはりフォルダを右クリックした後、TortoiseGit>Pullを選択する。

基本的にはこれだけだ。共有リポジトリという「作業集約場所」の視点から見れば、各個人リポジトリからのプッシュ・プルという操作になる。

衝突

ただし、衝突という状況が起こることがある。これは、ファイルXに対して、AとBがほぼ同時に編集を行い、その編集行が同じ場合に起こる。

例えば、「東京はどういう街かと言えば。。。」という行を、Aが「東京は住みよい街です」とし、Bが「東京は怖い街です」と変更したとし、AとBがコミット&プッシュを行うと、Git側ではどちらの文章を採用すべきかわからず、衝突状態になる。この場合には、手作業で解決する必要がある。

その一方で、同じファイルXでも、編集行が異なる場合には、Gitは問題なく両者の変更を受け入れ、双方の変更が反映されたものとなる。

(続く)

コメント