LoginSignup
0
0

More than 1 year has passed since last update.

3/30 git part2

Last updated at Posted at 2023-03-30

個人的リマインド用

変更を元に戻す、リモートリポジトリとのやりとり

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

git restore

ワークツリーでの変更を取り消す

git restore <ファイル名>

ステージの状態をワークツリーに反映させる

ステージでの変更を元に戻す

git restore -S <ファイル名>

最新のコミットの状態をステージに反映させる
ワークツリーの状態が変わるわけではない

直前のコミットを消す

※リモートリポジトリにプッシュしたら絶対にそのコミットの内容を修正してはいけない

git restore -s HEAD^ <ファイル名>

一気にワークツリーまで落ちる(修正した部分も元に戻る)

直前のコミットをやり直す

コミットした後に、修正忘れに気づいたとき

git commit --amend

1.修正したものをステージまで持っていく
2.git commit --amendでcommitメッセージを修正

おまけ

git log -p -n 1 
ログで変更された部分の中身(-p)を最新のコミットだけ(-n 1)

リモートリポジトリについて

リモートリポジトリとは

オンライン上にあるリポジトリ(GitHub)

リモートを表示する

git remote

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

リモートリポジトリを追加

リモートリポジトリは複数登録することができる
複数のチームそれぞれでリポジトリを持っている時とか

リモートリポジトリを新規追加
git remote add <リモート名>

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

リモートから情報を取得する(フェッチ)

git fetch <リモート名>
git fetch origin

流れ:リモートリポジトリからローカルリポジトリに情報を落とす(ワークツリーには入っていない)
     ワークツリーに持ってくるならgit mergeをする

リモートから情報を取得する(プル)

プル→リモートから情報を取得してマージまでを一度にやりたい時(fetchとmergeを一気にやる)

git pull <リモート名> <ブランチ名>
git pull origin master

git pull (origin masterは省略可能)

フェッチとプルはどちらがいいのか

基本はfetchを使うのがいい
pullすると(リモート→ローカル→ワークツリー)自分が今いるブランチにマージされる
うっかり別ブランチにいる時やっちゃったら危険
mainにいる時だけやったらいいかも

リモートの詳細情報を表示する

git remote show <リモート名>
git remoteより詳しく(fetchとpushのurl, リモートブランチ, git pullやgit pushの挙動)

リモートを変更・削除

変更する
git remote rename <旧リモート名> <新リモート名>
git remote rename tutorial new_tutorial
削除する
git remote rm <リモート名>
git remote rm new_tutorial
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