引き続き2つ目のカテゴリ、GitHubを触っていきます。
- Git
- GitHub
- Gist
おさらい
実際にGitHubを触る前に概念のおさらいをしましょう。
Remote Repository / Local Repository
GitHubを始める為に - その2.Gitを触ってみるやGitHubを始める為に - その3.GitHub?で経験した事を踏まえ、この2つは以下の様に表せます。
Repositories | 例 |
---|---|
Remote Repositories | GitHub |
Local Repositories | 自分のPC |
commit / push
commitとpushは以下の様にまとめました。
コマンド | 説明 |
---|---|
commit | ファイルの追加や変更の履歴をRepositoryに保存すること |
push | ファイルの追加や変更の履歴をRemote Repositoryにアップロードするための操作 |
branch
branchの運用に関しては奥が深い(正解がない)ので、基本概念は公式の資料を読むと一番分かりやすかったです。
Pro Git Bookの3章.Git のブランチ機能を読みましょう。
時間のないor難しい人はこの一文がなんとなく分かっていれば大丈夫。
ブランチとは、開発の本流から分岐し、本流の開発を邪魔することなく作業を続ける機能のことです。
いざ、体験GitHub
では、早速前回作成したGitHub上のRepository、testrepoを触っていきましょう。
Local PCでの準備
ターミナルで作業環境を整えます。
まずは作業ディレクトリの作成
$ mkdir githubtest $ cd githubtest $ git init Initialized empty Git repository in /***/***/***/githubtest/.git
この
$ git init
コマンドでカレントディレクトリをGit Repositoryにしていします。
そしてGitHubで管理するファイルの作成です。
$ vi mojatest.html
内容はこんな感じの物を用意してみました。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>mojatest</title> </head> <body> mojage is testing now. </body> </html>
Local Repositoryへcommit
まずは
$ git status
コマンドで現状を確認しましょう。
$ git status On branch master Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) mojatest.html nothing added to commit but untracked files present (use "git add" to track)
mojatest.html
がトラッキングされてないから、
$ git add
して下さいって出ましたね。
では
$ git add mojatest.html $ git status On branch master Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: mojatest.html
Indexに登録されました。
では、IndexとLocal Repositoryの差分を見てみましょう。
$ git diff --cached
です。
$ git diff --cached diff --git a/mojatest.html b/mojatest.html new file mode 100644 index 0000000..9172e66 --- /dev/null +++ b/mojatest.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>mojatest</title> +</head> +<body> + mojage is testing now. +</body> +</html>
まだLocal Repositoryには反映されていないことがわかりますね。
そして
$ git commit
$ git commit -m "add mojatest.html" [master (root-commit) b08f53a] add mojatest.html 1 file changed, 10 insertions(+) create mode 100644 mojatest.html
成功!
でも一応確認します。
$ git status On branch master nothing to commit, working directory clean
問題なさそうですね。
GitHubのRemote Repositoryへpush
前回作成したtestrepoをRemote Repositoryとして登録します。
$ git remote add origin https://github.com/mojagehub/testrepo
最後に
$ git push
コマンドでGitHub上のRemote Repository testrepo上へ送り出します。
$ git push origin master Counting objects: 5, done. Delta compression using up to 8 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 616 bytes | 0 bytes/s, done. Total 5 (delta 0), reused 0 (delta 0) To https://github.com/mojagehub/testrepo 47012c4..7e64796 master -> master
成功です!
もし、以下の様なエラーが出た場合は、Remote Repository上にREADMEファイル等がある為に先に
$ git pull
コマンドでRemoto Repositoryの情報を引っ張ってこいと言っているので、先に
$ git pull
しましょう。
! [rejected] master -> master (non-fast-forward) error: failed to push some refs to ‘https://github.com/[account]/[reponame]’ hint: Updates were rejected because the tip of your current branch is behind
$ git pull origin master
$ git push
にせよ
$ git pull
にせよ、初回のGitHubとの接続時はユーザ/パスワード認証があります。
GitHubの上で確認
ちゃんとmojatest.htmlがpushされてますね!
今回はここまで。
0 件のコメント:
コメントを投稿