2件のコメント概要ある時突然「Gitにコードがあるから」とか「Gitで管理しておいて」とか言われてしまい、困っている人が結構多いようなので、自分の頭の整理も兼ねて解説記事を書きました。GitにはCloneやCommit等の複数のコマンドがありますが、立場により理解しなければいけないコマンドの量は違いますので、その観点で、徐々にレベルを上げていけるように整理していきます。レベルの定義まずレベルとしては1ユーザ、2個人開発、3複数人開発、の3レベルを定義します。それぞれの説明は以下の通りです。2と順番に見ていただくと理解しやすいと思います。(ユーザ)データを取ってきて使いたいだけの人(個人開発)自分のスクリプトを管理・公開したい人(複数人開発)複数人で同時に開発を進めていきたい人Git環境について本記事ではGitだけでなく、GUI環境としてTortoiseGitが導入されていることを前提とします。ダウンロードサイトは下記です。Git本体:https://git-scm.com/TortoiseGit:https://tortoisegit.org/ダウンロード後、ファイルを起動して適当に次へをクリックすればインストールされます。TortoiseGitは日本語化すると用語の表現が変わってしまうので、英語に極端なアレルギーがなければ英語のまま使うことを推奨します。レベル1:ユーザ利用目的の方が使うコマンドユーザ利用目的の方はClone(最初の取得)とPull(最新バージョンに更新)の2つのコマンドが使えれば最低限OKです。過去バージョンに戻す等の少し高度な方法は初級者向け記事で取り扱おうと思います。Cloneを使ってリポジトリをダウンロードGitで管理されているバージョンの集合を「リポジトリ」と呼びます。このリポジトリを自分のローカル環境にコピーする作業がCloneです。Cloneを選び、2URLにリポジトリのアドレス(例えば、https://github.com/Rosyuku/RosyukuScript.git)を指定し、3OKを押す、だけです。エラーがなければリポジトリがフォルダ内にコピーされ(隠し表示で.gitとなっているフォルダ)、自動的に最新バージョンのファイルが置かれているはずです。Pullを使って最新版にアップデートCloneを使って取得したファイルはその時点での最新版ではありますが、時間が経過するとより新しいバージョンがリリースされている可能性があります。この時、今現在の最新版を入手するために使うコマンドがPullになります。使い方は同様に、1リポジトリが置かれているフォルダ上で右クリックし、2TortoiseGitをクリックしPullを選び、3開かれたダイアログでOKを押す、です。うまくいかなければ一度消して、Cloneをやり直すのもありでしょう。レベル2:個人開発目的の方が使うコマンド同様に個人開発目的の方はCommit、Pushの2つのコマンドが使えれば最低限OKです。空のリポジトリを作るまずは空のリポジトリを作りましょう。hereを選び、2OKボタンを押す、です。Bareにはチェックを入れないようにしましょう。チェックを入れると後述するPush先のフォルダとして機能するようになり、ファイルの取り扱いはできなくなります。入力できていれば「.git」という隠しフォルダができているはずです。リポジトリの内容を変更したらCommitで保存Commitはリポジトリに新しい状態(直接的にコミットと呼びます)を追加するときに使います。先ほど作った空のリポジトリに適当なファイルを加えてCommitしてみましょう。Commitを選択、2コメントを入力し、コミットするファイルにチェックを入れる、3OKボタンを押す、です。logを選択、で表示されるログを見ることを確認できます。このようにファイルを追加・変更するたびにコミットをしていくと、その過程が全て残るためバージョンを管理することができるということになります。Pushでサーバに反映Commitにより追加されるのは自分のローカル環境のリポジトリだけなので、その状況を人に報告しようと思ったらPush作業が必要になります。(ローカルリポジトリをZip圧縮してメール送付、な~んてことからは卒業しましょう。URLにチェックを付けアドレスを入力する、3OKを押す、です。Pushはサーバ環境を書き換える作業なので慎重に実施する必要があります。基本的には認証等をしないと書き込めないように作られます。レベル3:複数人開発目的の方が使うコマンド複数人開発目的の方はこれまでに挙げたClone、Pull、Commit、Pushの4つのコマンドを最低限使う必要があります。基本的な流れは以下の繰り返しです。Clone又はPullで自分のローカルリポジトリを最新状態にする自分の変更をローカルリポジトリにCommitし、Pushでサーバのリポジトリを最新状態にする各項目については今までで説明した通りです。PullやPushの際にエラーが発生する場合があり、これはどのような時に起きるかというと、ソースコードの同じ部分を同時に複数の人が編集してしまったりした場合です。このときはMerge等の作業が別途必要になりますが、その内容は初級者編で取り扱いたいと思います。まとめ簡単ではありますが、Git活用を要求されてしまった人向けの悩み解決のために、TortoiseGitを使った方法についてまとめました。便利なツールだと思うので、少しでも理解の広まりに役立てば幸いです。16:22突然のコメントすいません。私は、現在工場の社内SEとしてラインで使用するプログラムの開発に従事しています。そこで、最近になりプログラムのバージョン管理を行うことになり『TortoiseGit』を使用することになりました。なんとか、インストールに成功してテスト的に私一人が使用して使い方がわかってきたら他の開発者へ展開するような感じで動いていますがすでに3か月ほどやっていますが未だに理解できずネットの中をさ迷い歩いてここにたどり着きました。質問で不躾だとは思ったのですが、質問させてください。この『TortoiseGit』というソフトでは、フォルダごとに個別に管理することは出来ないんでしょうか?というのも、当方の環境では複数のラインがありそのラインごと製造製品ごとに使用しているプログラムが違います。それを管理しようと思って¥開発フォルダ¥ライン1¥ライン1、製造製品1のプログラム¥ライン1、製造製品2のプログラム¥ライン2::というようなディレクトリ構造にしました。この状態で、『¥ライン1、製造製品1のプログラム』でブランチを作り切り替えると『¥ライン1』全体が切り替わってしまって『¥ライン1、製造製品1のプログラム』だけで別ブランチを作ることが出来ません。これでは非効率なので何とか『¥ライン1、製造製品1のプログラム』だけでブランチを作って、切り替えをした時も『¥ライン1、製造製品1のプログラム』のみが別ブランチに移るようにしたいのですが方法はありますか?突然にご質問で大変不躾ではありますがご回答いただけると幸いです。当方の環境としては、OSはWinXP、『TortoiseGit』のバージョンは『TortoiseGit-1.8.16.0-32bit.msi』を使っています。ラインで使用しているプログラムがWinXP下でしか動作しないのでこのような環境になっています。一応NASサーバを入れてそこにプログラムのバックアップを取るように環境を作りました。長文、乱雑な質問になってしまいましたがご回答何卒よろしくお願いします。23:44猪瀬さまコメントくださりありがとうございます。(確認遅れ申し訳ございません)ご指摘の件ですが、ブランチは主に作っているプログラムの派生を残しておきたい場合等に使う機能ですので、今の内容(フォルダごとに個別に管理したい)には適さず、リポジトリ自体をフォルダごとに複数作るのが一般的かと思います。リポジトリ自体の関連性(ラインで分ける、等)は、GitHub等のWebサイト上でグループを作り、その下に製造製品1のリポジトリ、製品2のリポジトリ、というように管理するのが良いのではないでしょうか。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。プロフィール兵庫県在住の30代データサイエンティスト。Pythonを使った機械学習等によるデータ分析や、ウェブアプリ等のシステム開発に取り組んでいます。