見出し画像

【Git備忘録】init・status・add・commit・rm・log・merge・branch・checkout・fetch・push・pull

Gitとは

分散型バージョン管理システム。名前の通り、リポジトリが分散している=個人個人が手元にそれぞれのリポジトリを持っている
開発による個々人のリポジトリの変更内容を、共有リポジトリという形で複数人と共有できる。

Gitにおける3つの領域

作業ディレクトリ (ワーキングディレクトリ)

ステージングエリア (インデックス)

リポジトリ

コマンドとその動作:

git checkout -- <file>

  • 作業ディレクトリにおける特定のファイルの変更を破棄し、最後のコミット時点の状態に戻す。

git add <file>

  • 特定のファイルの変更をステージングエリアに追加する。

git rm --cached <file>

  • ファイルをステージングエリアから削除するが、作業ディレクトリには残る。

  • さらに、ファイルをgit追跡対象から外すので、このファイルに対する変更を再びコミットに含めたい場合は、git addを使用してファイルを明示的にステージングする必要がある

git restore --staged <file>

  • ファイルをステージングエリアから削除するが、作業ディレクトリには残る。

  • ファイルは依然としてGitによって追跡される。

  • ファイルをコミットする準備ができていないが、変更内容は保持したいときに使う

git rm --cached <file>, git restore --staged <file>どちらのコマンドも、作業ディレクトリにおけるファイルの内容には影響を与えない。

基本コマンド

git init:gitプロジェクト作成

  • 「.git」というディレクトリがプロジェクトのトップディレクトリにできて、git管理下になる

  • .gitディレクトリを消せば、git管理をやめることができる。

git status

  • 変更されたファイルの一覧・ステージングされたファイルの一覧・ブランチの状態が表示される

  • 作用ディレクトリの変更内容をstage, unstageしたい場合に使う

ShellScript

$ git staus
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        new_file.txt

no changes added to commit (use "git add" and/or "git commit -a")

git add

  • git管理下のディレクトリにファイルを作成しただけではgit管理下にならない。

  • git statusと入力すると、Untracked file(gitがトラック(=追跡)していないファイル=未管理のファイル)と表示が出る

ShellScript

# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	.DS_Store
#	sample.txt
nothing added to commit but untracked files present (use "git add" to track)
  • 「git add ファイル名」でフ、、

続きは、こちらで記載しています。


この記事が参加している募集

仕事について話そう

仕事のコツ

with 日本経済新聞

よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費に使わせていただきます!