職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

git rm(ファイル削除)

2022年12月07日 | Git
Git管理下のファイル削除


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

【git rmとは】
インデックスやワーキングツリーからファイルを削除するためのコマンド

【git rmの主なオプション】


【実践する】
テスト用のファイル「test1.txt」を作り、コッミットまで済ます
PS D:\Git\rm> git init←初期化
Initialized empty Git repository in D:/Git/rm/.git/
・ファイルを作る

・状態を見る
PS D:\Git\rm> git status
On branch main
nothing to commit, working tree clean
PS D:\Git\rm>
・削除
PS D:\Git\rm> git rm test1.txt
rm 'test1.txt'
PS D:\Git\rm>
コミットすれば、削除される

履歴を見る



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

.GitIgnoreファイル

2022年12月05日 | Git
.gitignore とは


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

gitignoreとは
gitignoreはGitで使われる特殊なファイル名で、このファイルに書かれたファイルは上から順に処理されて、Gitのトラッキングの対象外になります。

.gitignoreを使うのは、
→個人のPC環境(OS)に依存するファイルやパスワード関連の重要なファイルなどです。
→git pushでGithubのリモートレポジトリにプッシュしないようにするために使います。


【Windowsでgitignoreファイルを作る方法】
一旦、「.gitignore.」でファイルを作り、そこから後ろのドットを1つ消して、「.gitgnore」を作りましょう。
ターミナル「git-bash」なら、簡単に「.gitgnore」を作ることができる

■実際にやってみる
.gitignoreファイルを作り、「test.txt」ファイルをGitが無視するようにした


「test.txt」ファイルを作っても、コミットされない


以上
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Visual Tool

2022年12月02日 | Git
Gitを視覚的に操作できるツール


1.SourceTree
2.GitHub Desktop
3.TortoiseGit
4.vscodでも出来るよ。
以上が有名なツール
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

git revert(リバート)

2022年12月01日 | Git
git revert(リバート)


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

【revertとは】
gitではコミットを間違てしてしまった場合など、過去のコミットを取り消したい場合があります。そんなときに使えるコマンド。

【 revertと resetの違い】
git revert→指定したコミットの内容を打ち消して、新しいコミットを作成します。つまり、指定したコミット自体はコミット履歴から消さず、そのまま残せる。

git reset→指定したコミットを削除します。最新のコミットから指定したコミットより上のコミット履歴がごっそり消える。

■イメージ
#コミット履歴(A〜D)
A---B---C---D
main
・revert
#コミットDの作業を打ち消す
$ git revert D

A---B---C---D---F
main
新しいコミット「F」がつくられ、コミットが1つ前に進むのが、git revertです


・reset
#コミットDの作業を打ち消す
$ git reset C

A---B---C
main
指定したコミット「C」まで戻り、取り消したかったコミット「D」がコミット履歴から消去される

【実行してみる】
・新しいフォルダー「git_Revert」を初期化する
PS D:\Git\git_Revert> git init
Initialized empty Git repository in D:/Git/git_Revert/.git/
PS D:\Git\git_Revert>

・フォルダー「git_Revert」に、コミット済みの3つのファイルを作る



詳細は省く

・git log


【git revertでtest3.txtを取り消す】
・git revert 738b442c93d51234fdc84186226eed48372f4729を実行する

・test3.txtが消えているが新たなコミットが現れる

・test3.txtを復活させる
PS D:\Git\git_Revert> git revert aae61922f4fe2ecb97890942b220b64df57a3fc5
[main 6226d2d] fukatu
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.txt


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

git resetでコミットを取り消す方法

2022年11月30日 | Git
git resetでコミットを取り消す方法


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2


【git resetとは】
git resetは現在のブランチの最新のコミットから、指定したコミットの上までをごっそり削除するコマンド。すなわち、指定したコミットまでコミット履歴を遡るということです。

【Git のシステムのおさらい】
・初期状態

・ワーキングツリー(作業ディレクトリ)にあるファイルを更新する

・addを実行し、インデックス(コミットするためのファイルの状態)に移動させる

・commitを実行し、ローカルリポジトリに移動させる

・最後はpushで、Githubのリモートリポジットへ移動させるが、git resetは、push前の状態でしか使うことだできない!

【git resetのオプション】
1.直前のコミットを取り消したい(コミットのみ取り消し)
git reset --soft HEAD^
 HEAD^:直前のコミットを意味する。
 HEAD~{n} :n個前のコミットを意味する。
--softなので、インデックス・ワーキングツリーはそのまま

2.直前のコミットを取り消したい(マルっと消したい)
git reset --hard HEAD^
 --hardなので、「インデックス・ワーキングツリー」も1つ前のコミットの状態に戻る。

3.コミット後の変更を全部消したい
git reset --hard HEAD
--hardなので、「HEADの位置・インデックス・ワーキングツリー」を全てHEADの位置に動かす。
HEADの位置はそのまま。
「インデックス・ワーキングツリー」の変更が消せる。

4.addを取り消したい
git reset --mixed HEAD
または
git reset HEAD
--mixed(or オプション無し)なので、「HEADの位置・インデックス」をHEADの位置に動かす
従って、インデックスの変更(addした内容)のみ元に戻す。

5.間違えてgit resetしちゃったら・・・
git reset --hard ORIG_HEAD
直前のリセットを取り消したいなら

【サンプル】
1.新たにフォルダー「reset_test」を作り、リポジットする
PS D:\Git\reset_test> git init
Initialized empty Git repository in D:/Git/reset_test/.git/
2、「R_test.txt」ファイルをインデックスに加える
PS D:\Git\reset_test> git add .
3.コミットして、headに移す
PS D:\Git\reset_test> git commit -m 'first commit'
[main (root-commit) e61b146] first commit
1 file changed, 1 insertion(+)
create mode 100644 R_test.txt
PS D:\Git\reset_test>
PS D:\Git\reset_test> git log
commit e61b146e0dc76488dbd11a11d177baf06c5ffc12 (HEAD -> main)
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 11:19:14 2022 +0900

first commit

・2つ目のファイル「R_test2.txt」を作る
PS D:\Git\reset_test> git add .
PS D:\Git\reset_test> git commit -m 'second commit'
[main 39c36b8] second commit
1 file changed, 1 insertion(+)
create mode 100644 R_test2.txt
PS D:\Git\reset_test> git log
commit 39c36b87463c9a26b509defb3fad40f74c569c6b (HEAD -> main)
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 15:17:15 2022 +0900

second commit

commit e61b146e0dc76488dbd11a11d177baf06c5ffc12
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 11:19:14 2022 +0900

first commit

・三番目のファイル「R_test3.txt」を作る
PS D:\Git\reset_test> git add .
PS D:\Git\reset_test> git commit -m 'third commit'
[main 25a076c] third commit
1 file changed, 1 insertion(+)
create mode 100644 R_test3.txt
PS D:\Git\reset_test>
PS D:\Git\reset_test> git log
commit 39c36b87463c9a26b509defb3fad40f74c569c6b (HEAD -> main)
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 15:17:15 2022 +0900

second commit

commit e61b146e0dc76488dbd11a11d177baf06c5ffc12
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 11:19:14 2022 +0900

first commit
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 16:08:39 2022 +0900

third commit

commit 39c36b87463c9a26b509defb3fad40f74c569c6b
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 15:17:15 2022 +0900

second commit

commit e61b146e0dc76488dbd11a11d177baf06c5ffc12
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Tue Nov 29 11:19:14 2022 +0900

first commit


■三番目のファイル「R_test3.txt」を元に戻す
1.--hard HEAD^の場合
PS D:\Git\reset_test> git reset --hard HEAD^
HEAD is now at 39c36b8 second commit
PS D:\Git\reset_test>


2.--soft HEAD^の場合
PS D:\Git\reset_test> git reset --soft HEAD^
PS D:\Git\reset_test> git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: R_test2.txt
コミットの前目で戻る


VSCodeで同じことをやってみる
ます、R_test2.txtを「変更」で、コミットする。

R_test1.txtのsoftを押す

同じ様になる



コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする