0
0

More than 1 year has passed since last update.

Gitコマンドまとめ

Last updated at Posted at 2022-02-06

はじめに

この度、Gitの学習を始めるにあたって簡単に学習内容やGitコマンドをまとめています。

ローカルからgitにアップするまでの流れ

・新規プロジェクトから始める場合・
#1. GitのHPに新規リポジトリを作成する。(githubのHPから作成)
#2. ローカルリポジトリを作成する。(対象ファイルに移動し実行)
$ git init

#3. リモートリポジトリを追加する。
$ git remote add origin (HPで作成したURL)

#4. ステージングエリアにフォルダをアップする。
$ git add .

#5. リモートリポジトリにファイルをプッシュする。
$ git push -u origin master


・既存のプロジェクトから始る・
  1. 既存のGitHub上のプロジェクトのURLをコピーする
  2. 任意の場所にディレクトリを用意・移動する
  3. Git cloneコマンドでリモートリポジトリから情報をコピーする

Gitのデータの持ち方
・圧縮ファイル(ファイル)
・ツリー(コミットしたときのスナップショット?)(ファイル、圧縮ファイル)
・コミット(ツリー、作成者、日付、コミットメッセージ、(親コミット))

リポジトリについて

・リモートリポジトリは複数登録することができる

Gitの準備をする

ローカルリポジトリを新規作成する。
$ git init

「.git」ディレクトリ(gitで必要なデータ)が作成される。

既存のプロジェクトから始める場合の始め方

リポジトリをコピーする
① Gitの該当PJのページにある「Clone or download」をクリックし、URLをコピーする。
② 任意のディレクトリ内で以下のコマンドを入力する。
 ※リモートリポジトリから、ワークツリーと.gitディレクトリがローカルにコピーされる。

$ git clone <リポジトリ名(URL)>

X. Gitの変更を取り消す・やり直す

ファイルへの変更を取り消す

ワークツリーの状態をステージの情報で上書きし、変更前の状態にする。

$git checkout -- <ファイル名>
$git checkout -- <ディレクトリ名>

# 全ファイルの変更を取り消す
$git checkout -- .
ステージした変更前を取り消す
$git reset HEAD <ファイル名>
$git reset HEAD <ディレクトリ名>
# 全変更を取り消す
$git reset HEAD .
直前のコミットをやり直す

直前のコミットを上書きし、コミットをやり直す。

$git command --amend
リモートリポジトリとは
設定しているリモートリポジトリを表示する
$ git remote

#対応するURLを表示
$ git remote -v

# より詳細に情報を表示する
$ git remote show <リモート名(origin)>
リモートリポジトリを新規追加する
$ git remote add <リモート名> <リモートURL>

# sampleとういうショートカットでurlのリポジトリを登録
$ git remote add sample https://github.com/user/repo.git

リモートを変更・削除する
#変更する
$ git remote rename <旧リモート名> <新リモート名>

#削除する
$ git remote rm <リモート名>

リモートリポジトリから情報を取得する

リモートリポジトリから情報を取得する方法は2つあります。

・git fetch
→ リモートリポジトリからローカルリポジトリに情報を撮ってくる(ワークツリーには反映されないため、git mergeが必要)

・git pull
→ リモートか情報を取得、マージを一気に行う(処理的にはgit fetch、git mergeを一度に行っている)

<使い分け>
結論:fetchを使いましょう

pullを実行すると、pullしたブランチはすべてmasterブランチにマージされてしまう。(統合する気はなくても誤ってブランチが統合されてしまう。)

ブランチについて

ブランチとマージについて

ブランチ:コミットを指したポインタ
・並行して複数機能を開発する仕組み 
・ブランチを分岐させることで、他の開発の影響を受けない

HEAD現在自分がいるブランチを指す

ブランチを新規作成する(作成しいても移動はしない)
$ git branch <ブランチ名>

#ブランチの一覧を表示する
$ git branch

#全てのブランチを表示する
$ git branch -a
ブランチを切り替える
$ git chceckout <既存のブランチ名>

#ブランチを新規作成して切り替える
$ git chceckout -b <新しいブランチ名>

マージ:他の変内容更を取り込むこと
マージには以下の3種理が存在する
・Fast Foward(早送りになるマージ)
・Auto Marge(基本的なマージ)
・confrict(同じファイル同じ場所に対して変更を行ったとき)

変更履歴をマージする
$ git merge <(リモート名)/(ブランチ名)>
ブランチを変更・削除する
#ブランチの名前を変更する
$ git branch -m <ブランチ名>

#ブランチを削除する(masterにマージされていないものがある場合、削除されない)
$ git branch -d <ブランチ名>
#強制削除する
$ git branch -D <ブランチ名>

ブランチの利用方法について

masterブランチをリリース用のブランチ、開発はトピックブランチを作成して進める
→masterブランチはあくまでもリリース用として利用し、
機能の開発ごとに最新のmasterブランチからブランチを切って、トピックブランチを作成し、
そこで開発を行う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0