2021-09-01から1ヶ月間の記事一覧
複数ブランチを同時編集 Gitで複数のブランチを同時編集したい場合、git checkout ブランチ名で頻繁に移動しながら編集することになるが、都度別ブランチのfileを確認しようとすると不便なため、全く別のフォルダに暫定的にコピーしたり、stashしたり、別ク…
commit改変時の複数PCのリポジトリの合わせ方 個人開発では会社用と自宅用にそれぞれPCを置いて同じリポジトリを用いながら編集を継続する運用方法がある(私もそう)。その場合、どちらかのPCでリモートからpull&更新&commit&pushを行い、もう1台のPCを…
リポジトリのディスク容量を削減する 開発を何年も継続し続けるとリポジトリもそれなりの規模になる。エンジニアの心理としてはリポジトリを整理したくなるもので、5種類の方法を紹介する。 方法 過去へのアクセス 削減度 作業の手軽さ git-gc ◎ 50%~ ◎ pa…
Gitのファイル管理の続き 前回の記事でGitは作業ディレクトリ内のGit追跡fileを、staging及びcommit履歴に"blob"と呼ばれる圧縮独自フォーマットのfileで全て保存していることを説明した。 programmingforever.hatenablog.com またその各file(blob)はsnaps…
Gitのfile管理方法 Gitは内部のfile管理のイメージを掴むと理解が一気に進む。そこで図とログを同時に扱ってGitが3大ツリーでfileをどう扱っているかなどを説明しgit resetの動きも理解出来る図を掲載した。 Gitの3大ツリーでのfileの扱い 3大ツリーでのf…
git stashの有効範囲を調べる 以前の記事でも記載した様にGitは、fileを6つの状態で扱う。 programmingforever.hatenablog.com そこで、その内ローカル側の5つの状態のfileをgit stashコマンドでどの様に退避するのかをまとめた。但しcommitはstashの対象に…
Gitではfileが6つの状態に遷移する Gitではいわゆる3大ツリーである、commit(commit履歴)、staging(ステージング、index、インデックス)、作業ディレクトリ(Working directory)を用いてfile管理を行なっている。 これをもう少し細かく見るとfileには…
git rm コマンド git追跡fileの削除はシェルのrmコマンドではなく、git rmコマンドを使う。 最初に現在の編集状況を解説し、次に丸数字の順に説明する。 想定する現在の編集状況(ある開発中の状態) 社内業務用のシェルプログラムのプロジェクトとする 10回…
Gitは行単位でstagingやresetが出来る 作業ディレクトリの変更内容をステージングする git add files コマンド ステージングをクリアする git reset files コマンド 作業ディレクトリをステージングの内容に戻す git checkout files コマンド。 指定commitの…
内容 Windows10で開発中の開発環境、Git 、開発プログラムを遠隔のMacにGitHubを介して移す作業一式を述べる。なおGItHubに仕様変更があり、2021.8.14以降に同様の作業を考えている方に役立つ内容だと思う。 Macの用意 別記事で述べた内容で準備する。この内…
目的 色々とリカバリーするコマンドをまとめた stashを誤って削除した際の復元方法 stashはpopコマンドやdropコマンドで削除出来るが、誤って必要なstashを削除しても復元できる(有効期限あり) $ # stash復元方法 $ # ①シェル画面をバックスクロールしてst…
間違えやすい操作を表で整理 以前にgit checkoutとgit resetをまとめたが、各コマンド後のステージング(staging, index)と作業ディレクトリのファイルの変化を比較表で整理し直した。特に全file選択を意味する末尾の「.」の有無で、 git checkout "指定com…