MacOSでGitHub – ファイルの更新からコミット


前回及び前々回に続いてGitHubについて。

今回はいよいよファイルを更新して、レポジトリに反映するところまでを行う。

GitのcloneとSubversionのチェックアウト

ローカルやテストサーバーなどにファイルをダウンロードして、更新作業を行うには、Subversionでは、チェックアウトという操作を行い作業ディレクトリを作成する。

そして、Gitではこれとよく似た操作でcloneという操作を行う。

では、このcloneとsubversionのチェックアウトは何が違うのか?

両者の最も大きな違いは、cloneの結果得られたローカルの作業ディレクトリ内には、レポジトリの全ての修正履歴が含まれている点にある。

したがって、サーバーへのアクセスができないときでも、履歴が参照できたりする!これはエライ!

実際にcloneを行って作業ディレクトリを作成する

ターミナルでデスクトップ上等に任意のディレクトリを作成する。

mkdir ~/Desktop/WorkDir
cd ~/Desctop/WorkDir

この後、cloneを行うためのコマンドを入力するのだが、そのためのリポジトリのパスをあらかじめ調べておく。

リポジトリのパスは、前回の記事で作成したforkの画面上に記載されている。

forkをしたリポジトリは、”Read+Write Access”となっていることに注目。

では、実際にこのパスをコマンドにコピペして使用する。

git clone git@github.com:user/path/to/repos.git

以上を実行すると、カレントディレクトリ内に作業ディレクトリが作成される。

commitしてpush

作業ディレクトリ内に作成された、ファイルを修正したらリポジトリに修正内容を反映する。

それには、以下の操作を行う。

1)追加したファイルや修正したファイルをGitの索引に追加する。

git add file.txt

file.txtというのが修正したファイル。
これに該当するコマンドは、Subversionにはない。

2)コミットする

git commit -m “hogeをhugaした”

これは、コマンドのフォーマットは、Subversionとにているが、この時点ではサーバーのリポジ鳥に反映されていないことが、大きく違う。

なので、以下のコマンドを実行して、”なかった事にする”ことができる。これもエライ!

git reset --soft HEAD^

3)サーバーに反映する

コミットした結果をリポジトリに反映するには、以下のコマンドを実行する。

git push

以上で修正した結果が、forkに反映される。

もし、forkに反映されたものをマスターに反映してもらいたいなら、メール等でマスターのオーナーにお願いすると、反映してもらえるかもしれない。

というわけで、gitについてはここまで。

ちなみに、Gitコマンドについては以下のサイトがわかりやすくまとまっていた。

Gitを使いこなすための20のコマンド – SourceForge.JP Magazine : オープンソースの話題満載


関連する記事

One thought on “MacOSでGitHub – ファイルの更新からコミット

  1. Pingback: SanRin舎 » GitHub

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>