コマンドで覚えるGitHubを使ったホームページ管理

drapon
今回GitHubへのユーザ登録は行っている事が前提ですが、ステージングサーバーと本番サーバーのデータの共有及び管理を行う方法についてまとめてみました。現在ではGit GUI等のツールはあるものの、やはりコマンドでの管理の方がはるかに楽だという事もあり、一通りの流れとしてまとめております。

https://matome.naver.jp/odai/2137318501079675301/2137336282955978603
やりたい事
ステージングサーバーでページを作成し、GitHubにてデータの共有。
GitHubで共有したデータを使って本番サーバーに反映させる。

【ステップ0】GitHub に新プロジェクトを登録

準備段階として新規のプロジェクトを作成する
lifeLOG + REPOsitory: 既存のプロジェクトを github に公開する


https://matome.naver.jp/odai/2137318501079675301/2137336282955978203
①Create a new repo
右上の書籍に「+」ボタンがくっついたようなマークをクリック

https://matome.naver.jp/odai/2137318501079675301/2137336282955978303
②Repository name
「Repository name」には任意の名称(英字のみ)を記載。
今後、プロジェクト名としてこちらを利用する。
「Public」か「Private」の選択が出来るが、「Private」は有料となる。
最後に「Create repository」を押して終了

【ステップ1】サーバーとGitHubをssh接続

[#ssh-keygen]でSSH公開鍵を作成
GithubにSSH公開鍵を設定 – Perl日記

Enter passphrase
[Enter passphrase]と表示され、パスフレーズの入力を2回求められるので同じパスフレーズを入力する。
[ssh-rsa]から始まるデタラメな文字列が公開鍵そのものである。
こちらを丸ごとコピーする。


https://matome.naver.jp/odai/2137318501079675301/2137336282855975603
①Accauont Setting
右上の工具のマークをクリック

https://matome.naver.jp/odai/2137318501079675301/2137336282955975903
②SSH Keys
左メニューの「SSH Keys」に現在接続されているサーバーのSSHが登録されている。

https://matome.naver.jp/odai/2137318501079675301/2137336282955976003
③Add SSH Key
[Add SSH Key]を押すと入力欄が現れる。

https://matome.naver.jp/odai/2137318501079675301/2137336282955976103
④Add Key
先ほどコピーしておいた公開鍵を貼り付ける。
タイトルは任意の分かりやすい名称で問題なし。

【ステップ2】ステージングのデータをGitHubに公開

[#git config]でユーザー名を登録
git configで出来ること – nabnabの日記

#git config –global user.name [GitHubに登録したユーザー名] #git config –global user.email [GitHubに登録したメールアドレス]

■現在の設定を確認する場合
#git config –global –list

[#git init]でサーバーのリポジトリを作成
縛りプレイで覚える Git ~git init 編~ – firisu the shooter

[#git remote]で既存のプロジェクトを github に公開する
lifeLOG + REPOsitory: 既存のプロジェクトを github に公開する

■foo を github のユーザ名、bar をプロジェクト名で、それぞれ置き換える。
#git remote add origin git@github.com:foo/bar.git

[#git add .]で変更されたファイルをaddする
git add -A と git add . と git add -u の違い – nekovaの日記

[#git commit -a -m “●●●●”]で共有するデータを決める

“●●●●”の箇所には開発記録としてのコメントを残しておくと便利。
addされたデータすべてを最終的に決定し、commitするという流れである。

「origin」というサーバー名で「master」ブランチプッシュする場合
#git push origin master

■それぞれの意味は下記の通り
push = アップロード
origin = リモートのサーバ名
master = デフォルトのブランチ名

【ステップ3】本番サーバーでGitHubから取得

※ステージングサーバーと同様に【ステップ1】から【ステップ2】の[git remote]まで行い、
別のサーバーとしてGitHubに登録しておく必要がある。

[#git fetch]で変更部分を取得
transitive.info – git fetch 使い方

■ログを見る場合
#git log FETCH_HEAD

■差分を取る場合
#git diff FETCH_HEAD

[#git merge FETCH_HEAD]でデータをサーバーに反映する
transitive.info – git fetch 使い方

■その他良く使うgitコマンド

[#git rm -r –cached <フォルダ名>]でフォルダごと管理から外す
gitでフォルダをまるごと削除 | マチダの秘密ノート

■エラー時のgitコマンド

Please, commit your changes or stash them before you can merge.

[#git stash save]でいまの作業ディレクトリの変更を退避させ
[#git pull]で最新の状態を持ってきてマージ
[#git stash clear]で退避させた作業ディレクトリの変更を削除
error1009 on scriptogr.am

こうすることで、commitしてない中途半端な修正を打ち消して、最新の状態に保つことができる。

https://matome.naver.jp/odai/2137318501079675301
2013年07月30日