20210911のGitに関する記事は2件です。

git コマンド覚書

初期設定 git clone git add . git commit -m git push origin main git pull git fetch → git merge ワークディレクトリがクリアになった状態のファイルは pullすると同期される。 リモートで削除されていればローカルでも削除される。 ただし、ローカルで変更を加えたファイルはpullしても変更はない。 コミットの構成 圧縮ファイル - ツリーファイル - コミット ファイル 内容 圧縮ファイル 圧縮されたファイルデータ ツリーファイル 今のワークディレクトリ内の圧縮されたファイルのデータの一覧 コミット ツリーファイル・親コミット・作成者・日付・コミットメッセージ 変更点の確認 git add する前の変更分 git diff git diff "ファイル名" git addした後の変更分 git diff --staged 変更履歴 git log git log --oneline git log -p "ファイル名" git log -n "表示するコミット数" ファイル操作 リポジトリからのファイルの削除 git rm git rm (--cached) ファイルの移動 git mv - mv "旧ファイル名" "新ファイル名" - git rm "旧ファイル名" - git add "新ファイル名" 変更したファイルを戻す ステージ→ワークツリー git checkout -- "ファイル名"/"ディレクトリ名" addしたファイルを戻す リポジトリ→ステージ git reset HEAD "ファイル名"/"ディレクトリ名" 直前のコミットをやり直す(直前のコミットを上書きする) git commit --amend リモートの情報を表示する git remote -v git remote show gitのリモート名を変更 git remote rename origin origin2 ブランチ操作 全てのブランチを表示 git branch -a ブランチ作成 git branch "ブランチ名" git checkout -b "ブランチ名"(作成&移動) ブランチ削除 git branch -d "ブランチ名"(mainにマージされてない変更がある場合は削除されない) git branch -D "ブランチ名" (強制削除) リモートブランチの削除 今いるブランチのブランチ名変更 git branch -m "ブランチ名" merge マージとは変更分を取り込むこと。 mainにfeatureを取り込むにはmainブランチに移動してgit merge feature とする。 マージの種類 マージ方式 処理内容 fast-forward ブランチが枝分かれしていない。先に進めるだけ auto-merge 複数のブランチを統合。マージコミットが作成される。 conflict 同じ行に対して複数人が異なる変更を実施した。修正方法はToBEの状態に実際にファイルを編集する。 コンフリクトを起きないようにするには ・複数人で同じファイルを編集しない ・PullやMergeの前に変更中の状態を無くしておく(commitやstashをしておく) ・Pullするときは、Pullするブランチに移動してから実行する 変更取込みはmergeとrebaseがある rebase:ブランチのbase(親コミット)となるコミットを別のコミットにする 利点:履歴を一直線にできる git rebase "ブランチ名" git rebese の一連の流れ git checkout feature git rebase main git checkout main git merge feature tag 軽量版 git tag "タグ名" 注釈版 git tag -a "タグ名" git tag -a "タグ名" -m "注釈"
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

開発に超最低限必要なgitコマンド[超入門][GUIのgitツール利用者向け]

目標と前提 mac osを使っている gitを用いて作業ブランチを切るところから最新mainブランチの同期まで、必要な超最低限度使用するコマンドを使えるようになりたい Source TreeなどのGUIツールを使った開発には慣れているが、ターミナルでのgitコマンドには慣れていない 既にローカルリポジトリの作成をしている(git init) ターミナルでgitコマンドを利用するとやらかしそう 超入門者である gitコマンドの流れ 1.作業ブランチを切る ローカルリポジトリのメインブランチから作業ブランチを切りましょう。 まずはgit checkoutコマンドで、mainブランチへ切り替えてください。 そのあと、git branch hogehogeで、"hogehoge"の部分を好きな名前にして作業ブランチを切ります。 ここでは"feature/hogehoge"とします。 zsh > git checkout main > git branch feature/hogehoge ローカルリポジトリに、新しいブランチ”feature/hogehoge”を切ることが出来ました。 続いて、git branchコマンドで切ったブランチを確認します。 zsh > git branch feature/hogehoge * main lines 1-1/1 (END) このコマンドで、ローカルリポジトリ内のブランチ一覧を出力します。 "*"がついたブランチが現在のブランチとなります。 無事、"feature/hogehoge"という作業ブランチを確認できました。 2.作業ブランチに切り替える 現在mainブランチにいるので、先程切った作業ブランチに切り替えましょう。 zsh > git checkout feature/hogehoge > git branch * feature/hogehoge main lines 1-1/1 (END) ブランチを切り替えたら、git branchを実行し、ブランチが切り替わったことを確認してください。 "*"が、作業ブランチである"feature/hogehoge"に付きました。 これで開発を行うと、このブランチでcommitしていくことになります。 3.開発する vimやVScodeなど、各種エディタで開発を行います。 現在の作業ブランチは"feature/hogehoge"ですので、他のブランチに影響することなく開発をしていることになります。 詳細はここでは記述しません。 4.リモートリポジトリにプッシュする ローカルリポジトリの作業ブランチ"feature/hogehoge"で開発した変更を、リモートリポジトリに反映させるためにプッシュします。 まずは変更点があるか確認してみましょう。 git statusコマンドの実行で、ブランチ内にアップデートがあれば、差分ファイルを確認できます。 zsh > git status プッシュしていきます。 手順を踏んでリモートブランチへプッシュします。 git add .コマンドで、commitできる状態であるステージング状態に差分ファイルを持っていきます。 続いてgit commitコマンドによりステージングにある差分をコミットします。 最後に、git pushコマンドで、リモートリポジトリにブランチを生成し差分をプッシュしましょう。 zsh > git add . > git commit -m "hogehoge部分の修正と実装" > git push origin feature/hogehoge > git status 念の為最後にgit statusを実行すると、差分ファイルが無いことがわかります。 5.github等でプルリクを出す github等、リモートリポジトリでプルリクを出しましょう。 コードレビューをしてもらい、リモートリポジトリのmainブランチへマージしてください。 詳細はここでは記述しません。 6.リモートとローカルのmainブランチを同期する リモートリポジトリのmainブランチはマージにより、差分を結合した最新ブランチとなりました。 ローカルのmainブランチも最新状態にしましょう。 まずはgit checkoutで同期したいブランチを指定します。 git pullコマンドで、持ってきたい最新のリモートリポジトリのmainブランチをプルします。 zsh > git checkout main > git pull origin main これで、ローカルのmainブランチを最新化することができました。 ここまでで、超最低限のgitを用いた開発の流れはできるのではないでしょうか、たぶん。 おまけ.不要となったローカルブランチを削除 開発を終え、マージもできました。 ローカルの不要なブランチを削除しちゃいましょう。 zsh > git branch -d feature/hogehoge > git branch * main lines 1-1/1 (END) 最後にgit branchで、ブランチの一覧を出力し、不要なブランチが消えていることを確認しています。 今回使用したgitコマンド一覧 git checkout hogehoge ブランチを切り替えるコマンド。ここではhogehogeブランチへ切り替えを指定しています。 git branch ローカルにあるブランチの一覧を出力し確認するコマンド。 git branch feature/hogehoge ブランチを切るコマンド。ここでは"feature/hogehoge"ブランチを生成します。 git status 現在の作業ブランチの差分を確認するコマンド。 git add . 作業したファイルを"すべて"ステージング状態にするコマンド。この状態ではまだコミットもプッシュもされていない状態。 git commit -m "hogehoge" ステージングにあるファイルをコミットするコマンド。"-m" を入力することでコメントを入力することができる。 git push origin hogehoge コミットしたファイルをリモートのhogehogeブランチにプッシュするコマンド。 git pull origin main リモートのmainをローカルにプルするコマンド。pullの概念については良さげな記事を友人に共有してもらったので後日噛み砕きます。 git branch -d hogehoge ローカルのhogehogeブランチを削除するコマンド。 まとめ 最低限必要なgitコマンドを用いれば、GUIを使わずともスマートに開発ができると思いました。 今までやらかしが怖くて、GUIのgitツールを使って作業していましたが、友人に教えてもらって半ば強引にターミナルで作業してみると、案外慣れるものだなと。 ただ、pullの概念など、もうちょっとちゃんと理解していないと後々にやらかすことになりそうなので、そのへんの勉強をしないといけないですね。 以上、qiita初投稿は自分への備忘録となりましたが、私のようなスーパー超入門者の方に少しでも参考になれば。 ここは正しくない!といった箇所があればぜひご教示ください。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む