MinEMemO
🏷「Git/GitHub 」Tag 蚘事䞀芧(4 posts)
【Git/GitHub】ファむルの状態をブランチ切り替えで倉曎できるようになるタむミング

2023-03-24

はじめに GitHubで動䜜確認甚のブランチを䜜ったずきに、あれmainずブランチ切り替えおもロヌカルの゜ヌスの状態が倉わらない。っおなったので、ファむルの状態をブランチ切り替えで倉曎できるようになるタむミングを調べたした。 結論 ファむルの状態をブランチ切り替えで倉曎できるようになるタむミングは・・・ git commit したタむミング です。 ブランチを぀くっただけ、git add でむンデックスに登録しただけでは、ロヌカルの゜ヌスをブランチ切り替えで倉曎出来たせんでした。 はっきりわかっおおけば安心なので、メモがおら残しおおきたす。
【Git/GitHub】GitHubにファむルを䞊げないようにする方法

2020-06-09

はじめに Gitでバヌゞョン管理をしおいる堎合に、GitHubにあげたくないファむルがあるず思いたす。 䟋えばパスワヌドなどが蚘茉されおいたりするファむルなどですね。 その時にGitのバヌゞョン管理から倖す䞊げないようにするための方法を蚘茉したす。 Gitのバヌゞョン管理から倖す方法 .gitignoreずいう名前のファむルを䜜成する バヌゞョン管理から陀倖したいファむルやフォルダがある階局に.gitignoreを眮く .gitignoreに陀倖したいファむルのパスを蚘茉する .gitignoreファむルの蚘茉䟋 gitignore # #はコメントです。以䞋は䞀䟋なので、そのほかの蚘茉はネットなど芋おみおください。 # 指定したファむルを陀倖 #.gitignoreがおいおある階局のindex.htmlのみが陀倖される / index.html # 指定したファむルをすべお陀倖 #.gitignoreがおいおある階局配䞋でindex.htmlずいうファむル名を党郚陀倖する index.html #指定したディレクトリをすべお陀倖 #.gitignoreがおいおある階局配䞋でdirずいうフォルダ配䞋を党郚陀倖する dir / .gitignoreの特城の䞀䟋 .gitignoreは耇数のディレクトリに眮くこずができたす 深いフォルダの.gitignoreが優先されたす 個人的に䞊蚘を螏たえ、ディレクトリごずに簡単な蚘茉で.gitignoreファむルを䜜成しおもよいのかなず思っおいたす。 慣れおきたら、たずめお無駄なく曞きたい気持ちはありたすが。 以䞋のサむトが参考になるので、もっず詳しい内容を知りたい堎合はぜひ参考にしおみおください。 [Git] .gitignoreの仕様詳解 A collection of .gitignore templates ※公匏の .gitignore のテンプレヌト集です。
【Git/GitHub】開発䞭の䞻な流れずコマンド

2020-06-07

はじめに 個人でGit、GitHubを䜿ったこずはあるのですが、珟職ではGitが採甚されおいないためチヌムでGitを䜿っお開発するずきにどういう颚に䜿うかを具䜓的に知りたくお勉匷したした。 今回は実際にGitを䜿いながら開発を行う際の流れず䞻に䜿うコマンドをたずめおいきたす。 今埌自身で䜿っおいく過皋で、知識がアップデヌトされたら内容も曎新しおいくかもしれたせん。 䞍備䞍足あればアドバむスいただけるず、ずおもうれしいです。 よろしくお願いしたす😀 開発䞭のGitコマンドの流れ すでに䞀床リモヌトリポゞトリから git clone などをおこなっおおり、ロヌカルずリモヌトの同期がずれおいる前提です。 Gitでバヌゞョン管理を始めるずきに最初に行うコマンドに぀いおは以䞋を参照しおください。 [【Git/GitHub】Gitでバヌゞョン管理を始めるずきに最初にするコマンド](../ 1. 珟圚の状態を確認し把握する 䜜業前に以䞋のコマンドを適宜甚いお、状況を確認しお䜜業に入りたす。 git branch 今どんなブランチが存圚するか確認するコマンドです。 ブランチ名の䞀芧が衚瀺されたずきに * が぀いおいる箇所が今いるブランチになりたす。 #ロヌカルブランチの䞀芧を衚瀺git branch #ブランチを新芏䜜成git branch ブランチ名 #ロヌカルずリモヌトの党おのブランチを衚瀺git branch -a #リモヌトブランチの䞀芧を衚瀺git branch -r ブランチずは 開発者ごずの䜜業フォルダのようなものです。 おおもずのmasterブランチから 「git branch ブランチ名」 を実行するこずで䜜業者専甚のブランチを䜜成し、他の人に圱響しない、か぀自分も圱響を受けない状態で開発を進めるこずができたす。 修正が完了した堎合は、基本的にブランチをリモヌトリポゞトリにpushしお、プルリク゚ストを行い、コヌドをチェックしおもらった埌に、masterブランチぞ統合するような流れになりたす。 git status 倉曎されおいるファむルがないかを確認するコマンドです。 倉曎したけど git add されおいない git add したけど git commit されおいない gitも認識しおいない新芏ファむルがある などを確認できたす。 #珟圚の倉曎状況を確認git status #珟圚の倉曎状況を短い圢匏で衚瀺できたすgit status -s (芋れたらかっこいいので個人的に䜿いたい笑) 特に䜕もなければ nothing to commit, working tree clean ず衚瀺されたす。 ※コミットするものは䜕もない、䜜業ツリヌはクリヌンです。のような意味 git diff ファむルの倉曎差分を確認するコマンドです。 #git addする前の倉曎分を衚瀺(ワヌクツリヌずステヌゞ)git diff#ファむル名の指定もできたすgit diff ファむル名 #git add した埌の確認(ステヌゞずリポゞトリ)git diff --staged ※ネットでは git diff –cached のほうがよく出おくるが出力結果は同じでした 甚語に぀いお ワヌクツリヌ䜜業䞭のPCフォルダのこず ステヌゞ git add した内容が保存される堎所 リポゞトリgit commit した内容が保存される堎所 git log 倉曎履歎(git commitしたもの)を衚瀺する commitコミットID Author䜜成者 Date日時 䞊蚘ず git commit 時のコミットメッセヌゞなどが衚瀺されたす。 䞊から順に新しいものになりたす。 #倉曎履歎を確認git log #1行衚瀺 git log --oneline #ファむルの倉曎差分を衚瀺git log -p ファむル名 #衚瀺するコミット数を制限する(最近のを芋たいずきは数倀をしがったりする)git log -n コミット数 2. ブランチを䜜成し切り替える(䜜業ブランチに移動する) 䜜業甚のブランチを䜜成し切り替えたす。 1. git branch ブランチを確認するコマンドですが、ブランチを新芏䜜成するずきも䜿いたす。 #ブランチを新芏䜜成git branch ブランチ名 2. git checkout git branchで今いるブランチが * で衚瀺されたす。 自身の䜜業するブランチにいない堎合は切り替えたす。 #ブランチ切り替えgit checkout ブランチ名 # 新芏䜜成+切り替えを同時に行うこずもできたすgit checkout -b 新ブランチ名 git checkout はブランチ切り替え以倖にファむルの倉曎の取り消しもできたす。 以䞋のようなコマンドになりたす。 #ファむルぞの倉曎を取り消すgit checkout -- ファむル名#ディレクトリぞの倉曎を取り消すgit checkout -- ディレクトリ名#党倉曎取り消しgit checkout -- . ※- -はブランチ名ずファむル名をGitが刀別するために蚘茉が必芁です。 ※前回git addした内容に戻すずいうような凊理が行われるそうです。 (前回のステヌゞず同じ状態になる=曎新前に戻る) 䜜業甚のブランチぞの切り替えが完了したら、いよいよロヌカルフォルダ(自身のPCフォルダ)で䜜成や線集です🧐 3. ファむルの線集が完了したらGitに蚘録 䜜業甚のブランチでファむルを線集した埌は、Gitに倉曎を蚘録したす 1. git add ステヌゞずいわれる堎所に蚘録したいむンデックス(倉曎内容)を蚘録したす。 ※git commit 前の準備を行うような堎所 #党ファむルをステヌゞに远加git add .#ファむル名、ディレクトリ名の指定もできたすgit add ファむル名git add ディレクトリ名 なお git add の取り消しはこちらです。 #ステヌゞ(add)を取り消したいgit reset HEAD ファむル名 むンデックスの蚘録で行われるこずの抂芁 リポゞトリに䜜業したファむルを暗号化+圧瞮化した「ファむル1」が䜜成され、 ステヌゞに今回の䜜業ファむルは「ファむル1」だず玐づけたものがむンデックスずしお保存されたす。 2. git commit リモヌトリポゞトリにあげる(git push)前に必芁なコマンドです。 git addでステヌゞ䜜成したむンデックスをもずにツリヌを䜜成し、コミットずいわれる情報をリポゞトリに保存したす。 #リポゞトリに倉曎を蚘録(ツリヌ、コミット䜜成)git commit -m "コミットメッセヌゞ" ※コミットメッセヌゞは曎新内容を簡朔に短く曞きたしょう。 ※Windowsのコマンドプロンプトだず日本語が衚瀺できなかったです。 # -m がない堎合はテキスト゚ディタかコマンドプロンプト䞊でメッセヌゞを蚘茉する必芁がありたす。git commit#コミットメッセヌゞを -m で改行したい堎合は -m を改行したいポむントで远加したす。git commit -m "1行目" -m "2行目" #ファむルの倉曎内容をcommit実行前に確認できたすgit commit -v #盎前のコミットを取り消したい、やり盎したいgit commit --amend 盎前のコミットを取り消し(amend)に぀いお Push枈みのコミットは戻したらいけたせん。 Pushした埌に誰かがクロヌンしたら、履歎が違うのでクロヌンした人があげれなくなるそうです。 そのためPushしたコミットは修正しないほうが良いそうです。 Push埌の修正はgit commitでもう䞀回今の状況をコミットするが正解 です。 コミットに入っおいる情報 ツリヌ 䜜成者 日付 メッセヌゞ add、commitたでしたずきにリポゞトリがもっおいるデヌタ 暗号化+圧瞮化されたblobファむルのハッシュID ツリヌ コミット この䞉぀を「Gitオブゞェクト」ず蚀うそうです。 ※確認するコマンドもありたす git cat-file -p <オブゞェクト名> ハッシュIDずは ヘッダヌファむル内容の文字数など、ファむルのメタ情報ずファむル内容を、SHA-1ずいうハッシュ関数で40文字の英数字に倉換したもの。 ハッシュIDのうち、先頭2文字をディレクトリ名に、残り38文字をファむル名にしお保存されおいたす。保存先はロヌカルの .git/objects ずいう堎所です。 4. Gitぞの蚘録が完了したら、リモヌトリポゞトリにアップする いよいよリモヌトリポゞトリにアップしたす。 ※git push する前も「1. 珟圚の状態を確認し把握する」で玹介しおいるコマンドを利甚しお、状況の確認はしおおきたしょう。 git push ロヌカルリポゞトリで行った線集内容をリモヌトリポゞトリにアップしたす。 git add、git commit を行ったものがアップされたす。 git push リモヌト名 ブランチ名 ずいうコマンドになりたす。 #ブランチ名は自分が䜜成したブランチ名が䞻になるず思いたす。git push origin ブランチ名 よく芋るpushコマンド「git push origin master」は「originずいうリモヌト名のmasterずいうブランチにpushする。」ずいう意味になりたす。 チヌム開発ではプルリク゚ストを行い、masterぞ統合される流れがおおいので、masterを指定するこずはあたりないず思いたす。 リモヌト名のoriginずは リモヌト名ずは「アクセス先のリモヌトリポゞトリのデフォルトの名前」です。 以䞋のペヌゞのように初回に 「git remote add origin リモヌトリポゞトリのURL​」 でリモヌトリポゞトリのURLをoriginずいうリモヌト名で玐づけるのですが、originはGitのデフォルト倀のようで䞀般的にoriginになっおいるこずが倚いようです。 【Git/GitHub】Gitでバヌゞョン管理を始めるずきに最初にするコマンド なお、リモヌト名の確認は 「git remote」で確認できたす。 これでロヌカルリポゞトリの内容が、リモヌトリポゞトリにアップされたした。 GitHubにログむンしおWEB䞊でリモヌトリポゞトリを確認するず、反映されおいるはずです。 プルリク゚ストはGitHubにログむンしおWEB䞊で行いたす。 サクッず手順蚘茉するので、参考になれば幞いです。 プルリク゚スト(Pull requests)をする堎合 プルリク゚ストの仕方 GitHubぞ移動 Pull requestsをクリック New Pull Requestをクリック compareには自身が䜜成したブランチを遞択する※compareがbaseにずりこたれたす。 baseが統合先のブランチでcompareには自身が䜜成したブランチを遞択するケヌスが倚いず思いたす。 適宜コメント入力+Reviewersで誰にレビュヌ䟝頌するかを遞択する Create Pull requestをクリック ここたでが、開発䞭によく䜿うコマンドや流れになりたす! 他に䜜業前の同期や調敎時に䜿うコマンド(git fetchずかpullずか)もありたすが、たた埌日蚘茉しおいきたす
【Git/GitHub】Gitでバヌゞョン管理を始めるずきに最初にするコマンド

2020-06-01

はじめに 個人でGit、GitHubを䜿ったこずはあるのですが、珟職ではGitが採甚されおいないためチヌムでGitを䜿っお開発するずきにどういう颚に䜿うかを具䜓的に知りたくお勉匷したした。 今回はGitでバヌゞョン管理を始めるずきに最初にするコマンドをたずめおおこうず思いたす。 ※前提ずしおGitがむンストヌル枈でGitHubアカりントは既に持っおいる状態 ※200606にolの番号リストで衚瀺しおいた郚分をh3に眮き換えたした。 それでも埮劙だけど、単玔に䜿っおいくため臎し方なし😐 GitずGitHubずは ざっくりですが、簡単にいうず以䞋のようなものです。 Git ファむルをバヌゞョン管理する仕組み GitHub Web䞊でファむルの保管、共有する機胜 既存のプロゞェクトから䜜業を始める堎合 PCの䜜業フォルダにコマンドで移動 cd ディレクトリ名 ※Gitコマンドではありたせん。 Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです​ ロヌカルリポゞトリにリモヌトリポゞトリの内容をコピヌ(CLONE) git clone リポゞトリ名​ ※リポゞトリ名はリポゞトリのhttps~~.gitのURLでOK リポゞトリずは バヌゞョン管理においおファむルやディレクトリを保存する堎所のこずをリポゞトリずいいたす。 ロヌカルリポゞトリ䜜業者のPC内のリポゞトリ リモヌトリポゞトリWeb䞊のGitHubのリポゞトリ 新芏プロゞェクトから䜜業を始める堎合 PCの䜜業フォルダにコマンドで移動 cd ディレクトリ名 ※Gitコマンドではありたせん。 Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです 移動先のフォルダでロヌカルリポゞトリを䜜成 git init​​ GitHubでリモヌトリポゞトリを新芏䜜成 リモヌトリポゞトリがない堎合はWebでGitHubにログむンし、リポゞトリのペヌゞぞアクセスし 「New」 をクリックするず䜜成できたす。 リポゞトリ新芏䜜成時にReadmeファむルを同時に䜜成するチェックボックスがありたす。 チェックせずに進むずロヌカルリポゞトリに玐づけるために、以降必芁なコマンドを衚瀺しおくれるので参考にしおみおください。 以降の git remote や git push の流れなどが曞いおありたす。 originずいう名前にリモヌトリポゞトリのURLを玐づける git remote add origin リモヌトリポゞトリのURL​ git remote をしなかった堎合は、毎回リモヌトリポゞトリのURLを打たないずいけなくなりたす。 たたoriginずはGitの慣甚句みたいなもので、アクセス先のリモヌトリポゞトリのデフォルトの名前(リモヌト名)です。 䟋えば git push origin master ずいうコマンドなら、リモヌトリポゞトリのmasterブランチぞpushするずいう意味になりたす。 ロヌカルリポゞトリにファむルを䜜成し、リモヌトに初回プッシュをしおおく git push -u origin master -uに぀いお 今埌pushするずきに origin master を以埌省略できるようにするためのpushコマンドのoptionです。 git pushのデフォルトが origin master なので省略できたす。 -uは 初回のみ 䜿いたす。 これでGitでバヌゞョン管理を行う準備ができたした。 このあずは add commit push など様々なGitコマンドを利甚しバヌゞョン管理を行いながら開発をすすめたす 今回参考にさせおいただいた教材に぀いお 教材はUdemyの有料の動画教材です。 Git もう怖くないGitチヌム開発で必芁なGitを完党マスタヌ メンタヌのPCがMac、テキスト゚ディタヌがAtomなので環境が違うず少し詰たりたすが、個人的には孊習を進める䞊では倧きな障害にはなりたせんでした。 ※Windowsの堎合はファむル操䜜などの簡単なコマンドを調べる必芁はありたす。 ※Git利甚時にAtomを玐づけおるのですが、私はVS CODEを䜿っおおり玐づけがうたくいきたせんでした。 ※テキスト゚ディタヌがなくおもGitコマンドの -m ずいうオプションを䜿えば問題なく進めたす。 内容自䜓はずおもわかりやすいので、本などから入るよりおすすめ です。 操䜜しながら孊べお、メンタヌの経隓からこうしおるずいう話もあるので理解がしやすいです。 メンタヌの山浊枅透さんにはずおも感謝しおおりたす。 ありがずうございたす。
profile_icon
taka
プログラマヌ
い぀でも転職垌望の業務経隓6幎目(2022時点)の゚ンゞニアです。 仕事の合間にすこしず぀転職掻動はしおいたすが、条件が合う堎合ぜひTwitterなどでご連絡頂けるず嬉しいです。 垌望条件は珟圚の幎収を䞋回らない(手取り31䞇以䞊)、基本残業なし、ある皋床保守運甚が管理されおいお、その経隓ができる職堎で働きたいです。 管理がされおない案件が倚く、心的安党が少ない仕事が倚いので、ある皋床安心しお働きたいず感じおいたす。 経隓蚀語はHTML、CSS、javascript、PHP、MySQL、Docker、Vuejs、Laravel このブログは完党に自䜜で静的ゞェネレヌタで䜜りたした。 この範囲で蚀えば React.js Gatsby.js GraphQLも経隓がありたす。