Perlがくしゅう帳(Rubyも)

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_で活動しています。 最近は主にPerl関連の勉強会やコミュニティに参加しています。移転前のブログはこちら->http://ruby.doorblog.jp/

GitとGithubの使い方メモ

ローカル環境に新しくリポジトリを作成~

git init

/そのディレクトリを管理下におく(./.gitディレクトリが作成される)

git add <ファイル>

/管理するファイルを追加する

git commit -m <コミットメッセージ>

/追加したファイルをコミット(履歴に残す)する

/※コミットメッセージは、1行目:変更の要約、2行目:空行、3行目:変更した理由を書く

git status

/リポジトリの現在の状況を調べる。ファイルに変更を加えたがaddされていない等が分かる

 

リモート(github等、公開している場所)へローカルのリポジトリを追加する

git remote add <リモート名> <url>

/ローカルリポジトリに「公開先はココですよ」情報を定義するコマンド。リモート名はoriginにするのが慣例。urlはgithub等に用意したリポジトリのurl

 

/※githubの場合、一番初めの作業として、githubで作ったリポジトリとローカルで作ったリポジトリの主従関係がバッティングするのを解消する為、

git fetch

/リモートからローカルへ取ってくる

git merge origin/master

/リモートの主(origin/master)とローカルの主(master)を溶け込ます作業が必要。

 

git push <リモートのアドレス> <上げるブランチ>

/リモートへリポジトリを上げる。リモートのアドレス:origin 上げるブランチ:master

 

リモート(github等、公開している場所)からリポジトリを取ってくる

git clone <リモートのアドレス> <コピー先のディレクトリ>

 

変更履歴を見る

git log

 

リモートリポジトリから最新の変更を取得する

git pull <リモートのアドレス> <上げるブランチ>

/リモートのアドレス:origin 上げるブランチ:master

 

リモートからpull->pushの間に他者がリモートへ新たな変更を加えていた場合

->mergeして(他者が行った変更を自分の行った変更(=ローカル)と統合する。)

git merge

 

mergeした時に、同一箇所の変更があった場合(衝突を解消する)

ファイルそのものの衝突した変更箇所に、

<<<<<<<HEAD

ローカルの内容

===================

リモートの内容

>>>>>>>コミット文字列

 

となるので、手動で修正して再commit->pushする

両方残したままペンディングの場合、マーカーの行だけ削除して再commit->pushする

 

サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログにて学習。