Linux

いつやるの?Git入門 メモ

いつやるの?Git入門 from Frontrend on Vimeo.

 

 

Git使用のコツ

 

常にフェッチしてマージしていれば、常に最新にして自分の環境とのずれをなくしておけばコミットしやすい

 

Gitで一番気をつける

  • merge
  • rebase

 

 

push, fetchだけがリモートへのコマンド

ほとんどの操作がローカルで完結

fetch + merge/rebase

コミット内容を後から編集することが可能

 

書籍

Pro Git

 

Git GUIでのイメージ学習が出来る

https://k.swd.cc/learnGitBranching-ja/

 

 

 

構成

中央集権型

一番多い
subversionに近い

統合マネージャ型

Githubでモジュールなど作る時はこれが多い

若頭独裁者型 ※普通はやらない

カーネルの開発方式

 

 

3つのデータ領域

 

  1. 作業ディレクトリ(ワークツリー)
  2. ステージング・エリア(インデックス)
  3. Gitディレクトリ

 

 

git init

  • 作業ディレクトリ
  • ステージングエリア
  • Gitディレクトリ

上記が作成される

 

 

git add file1 dir1/file2

 

ステージングエリアにステージされる

 

git add .

作業ディレクトリ内のすべてのファイルをステージさせる

 

git commit -m ‘メッセージ’

 

ステージングエリアの内容をGitディレクトリに反映される

 

コミットツリー

commitした時に、前のcommitが親となり、どんどんツリーが出来ていく

 

 

削除する時

 

git rm dir1/file2

ステージングエリア上のファイル情報を削除する

 

git commit -m ‘削除情報をコミット’

削除した更新内容をGitディレクトリに登録

 

 

ファイルを移動させる時

 

git mv ファイル名

 

 

git addした直後にさっきのステージングエリアの情報をgit addをやめたい

 

git reset HEAD dir1/file3

ステージングエリアがなかったことになる

 

 

作業ディレクトリのファイルをステージングエリアの状態に戻したい

 

git checkout — dir1/file3

 

作業ディレクトリのdir/file3をステージングエリアの状態に戻したい、変更前の状態に戻したい。

 

 

その他の基本コマンド

 

git reset –<mode> <commit>

 

mode

  • soft
  • hard
  • mixed

 

データ領域を指定commitの状態に戻す

 

git reset –hard HEAD^

 

HEADのひとつ前のcommitの状態に戻る、
作業ディレクトリとステージングエリアが戻ります。

 

 

作業ディレクトリの状態を見る

git status

 

 

コミットログを見る

git log –graph –color

 

 

 

GUIでツリーの構成を見る

gitk

 

 

 

ブランチ

Git管理を開始するとmasterブランチがデフォルトで用意される

commitするとmasterの位置も移動する。

 

developブランチを切った場合も、同じcommitを指す

 

git branch -a

 

 

mergeかrebaseか

 

プロジェクトによって異なる。

 

 

少しcommitしたローカル環境

ステージングエリアはGitディレクトリのHEADとの差分で更新を判断

 

 

HEAD

現在作業中のブランチを表わす

 

developブランチを作る

git branch develop

 

 

ブランチを切り替える = HEADの位置がmasterから指定ブランチに切り替え

git checkout develop

HEADの位置がdevelopに切り変わる、HEADに合わせて復元

 

作業ディレクトリもステージングエリアも切り替えたbranch = HEADの位置に合わせて、ファイルが復元されます。

 

 

 

 

developをmasterにmergeさせる

EのdevelopをDのmasterに反映させてFとなる。

DとEはFの親となる

 

その後もdevelopを発展させてHにしたものも、masterのFにcommitして、Gを作成することが出来ます。

 

 

git merge develop

 

 

rebase

 

 

 

 

 

 

 

 

 

ローカルGitでの変更 merge

masterにHEADがあり、developを取り込みたい。

この状態でgit merge developを行います。

 

前のmasterだったBと、developのCが取り込まれています = merge commitされたDが作られる。

作業ディレクトリとステージングエリアにもCが反映されます。

 

 

 

ローカルGitでの変更 rebase

 

 

 

 

 

git cloneの動き

リモートリポジトリの変更履歴を含めた完全な複製がローカルに出来ます。

 

 

 

 

 

 

 

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)