20210909のGitに関する記事は7件です。

Gitについてと Cent OS上での基本的な操作について

バージョン管理システムについて 様々なファイルは修正を繰り返したり、また修正前に戻ったりのが当たり前 →ファイルの履歴を管理する必要がある バージョン管理システム →ファイルの変更内容を保存して管理しておくためのツール Git Gitとは バージョン管理システムの1つ 修正前のバージョンに戻ったり、修正後に行けたり、手軽にバックアップを行うことができ、ソースコードの差分を確認することができる。 チーム開発でよく使用される。 Gitのインストール方法(CentOSの場合) 1.sudo yum install git-coreと入力(パスワードを入力する) 2.Is this ok [y/d/N]→yと入力 $sudo yum install git-core --省略-- Is this ok [y/d/N]:y git --versionと入力しインストールが成功したかを確認する $git --version Gitの初期設定 まずは使用するユーザーが誰なのか、その情報をGitに伝えるために名前とメールアドレスの登録を行う必要がある。 $git config --global user.name '<名前>' $git config --global user.email '<メールアドレス>' 必須ではないが見やすくするためにカラー出力の設定をする場合は以下のように行う $git config --global color.ui auto これまで設定した内容の確認はcatコマンドを使用する $cat ~/.gitconfig するとこんな形で表示される(例) $cat ~/.gitconfig [user] name=hoge email=fugafuga@hoge.com [color] ui=auto Gitの基本的な使い方 Gitの基本的なコマンド git init:初期化のためのコマンド、リポジトリを作成する git add:ファイルをバージョン管理の対象にし、リポジトリに履歴として追加するようにする git commit:リポジトリにファイルの変更履歴を追加する(コミットする) git status:ワークツリー(リポジトリの内容をファイルとして展開する場所)の状態を表示する git diff:変更した部分の差分の確認 git log:変更の履歴の確認 コミットについて コミット(リビジョン)とは →ある時点でのプロジェクトの状態のこと コミットする →Gitリポジトリに新しいリビジョンを追加する 実際の作業について ①リポジトリの作成 リポジトリ→Gitがファイルを保存する場所 新しいディレクトリの作成を行う 今回はtestdirという名前で作成 $mkdir -p ~/git/testdir ディレクトリの初期化を行う cdコマンドでtestdirに移動した後、git initコマンドで初期化を行う →.gitというディレクトリが生成される →これがGitリポジトリの実体 $cd ~/git/testdir $git init ls -aコマンドで作成されたかを確認する $ls -a この際に .git という表記があればリポジトリが作成されたとわかる ②バージョン管理するファイルの作成 testdir.shというシェルスクリプト (シェルのコマンドラインをあらかじめ記述しておくファイルのこと)を作成 #ファイルの作成 $touch testdir.sh #数値モードによるパーミッションの設定 $chmod 755 #vimを使って編集 $vim testdir.sh --編集作業-- ③git addコマンドでリポジトリに履歴として追加 履歴として追加する #testdir.shを追加するための指定 $git add testdir.sh ④git commitでリポジトリにファイルの登録 #-m オプションで指定 修正に対するメッセージの入力 $git commit -m ’メッセージの入力①’ リポジトリに新しいプロジェクトの状態が保存された →コミットした ⑤再編集 #vimを使って編集 $vim testdir.sh --編集作業-- ⑥git statusで現在のワークツリーの状態を確認 $git status --中略-- modified: testdir.sh --中略-- ⑤で修正を加えたことでtestdir.shにmodified(変更された)と表示 ⑥git diffで変更前後の差分を確認 $dit diff --変更内容が表示-- もう一度コミットする前に変更内容に誤りがないか確認 ⑦git addコマンドでリポジトリに履歴として再び追加 $git add testdir.sh ⑧git commitで再コミット $git commit -mオプションによるメッセージ入力を行わないと自動的にvimが起動 →vimを使って今回のコミットに対するログメッセージを記入(どのような変更を加えたか) コミットに対するログメッセージの書き方 1行目:変更した内容について 2行目:空行 3行目:変更を行った理由について 記入後 →:wq ⑨git logで変更内容の確認 $git log commit `40文字の文字列(コミットのオブジェクト名)①` Author:<名前><メールアドレス>が表示 Date:日時 ⑧のログメッセージの内容 commit `40文字の文字列(コミットのオブジェクト名)②` Author:<名前><メールアドレス>が表示 Date:日時 ④のメッセージの入力① このような内容が表示される git logをツリー状にする ※git log に --oneline --decorate --graphのオプションを付与することで git logをツリー状に確認することができる $git log --oneline --decorate --graph --git logがツリー状に表示-- 参考 -pオプションでコミットの差分(diff)も表示できる $git log -p オブジェクト名の先頭7文字のコミットを行なった直後の状態→現在のワークツリーまでの差分を表示 $git diff 'オブジェクト名の先頭7文字'
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

IT用語 ふわっと理解 Git,Markdown

WindowsにてVisualStudioのデスクトップアプリ開発を行ってきた方(私)が、 これからIT業界で働く未経験の方に、昨今の技術ワードを超ざっくり理解出来ることを目的として書いていきます。 特に記載がなければ、Windows上での使用を想定してます。 Gitとは バージョン管理システムです。無料です。 サーバーなど必要ではなく、パソコン一つあれば使用できます。 皆で共有する場合は、NAS、サーバー、共有フォルダなどが必要になるかと思います。 主にソースの管理に使用されますが、ソースファイル以外の管理にも使用できます。 メモ帳で書いている、自分の小説の管理など趣味でも使用できます。 管理するのに向いていないものは、バイナリデータです。※後述のために これからは絶対に必要になる技術です。 Git用語 コミット: ゲームでいうと、セーブです。 自分の変更した内容のキリが良いところで保存することです。 一つ前のコミットの差分が保存されます。 ブランチ: ゲームでいうと、ルート分岐です。ブランチとは枝のことです。 恋愛シミュレーションゲームでいうと、共通ルートまで進めていきます。Masterブランチ そのコミットから、ブランチを生成しルート分岐します。 ブランチA:TrueEndに向かうため分岐 ブランチB:HappyEndに向かうための分岐 ※ゲームと違うところは、そのブランチはどこかで合流します。合流することをマージと呼びます。 プッシュ: ゲームでいうと、セーブデータのアップロードです。 プル: ゲームでいうと、セーブデータのダウンロードです。 リポジトリ: ゲームでいうと、セーブデータの保存されているところです。 ローカルリポジトリ ゲームでいうと、メモリーカード。 自分のPC内にソースファイルなどが見える状態で、管理されている場所です。 リモートリポジトリまたはベアリポジトリ ゲームでいうと、任天堂サーバー、ソニーのサーバー側です。 サーバー側にソースファイルなどがない状態、差分データのみ管理されている場所です。 Markdown(マークダウン) メモ帳にいろいろ議事録、備忘録書くことがあるかと思います。 その項目に修飾させたり、画像を貼り付けたり、表作ったりできます。 直感的にはHtmlをイメージして頂ければ良いかと思います。 ただHtmlを見るためにはブラウザが、Markdownを見るためにはプラグインなどが必要になります。 Htmlより優れている?点は、ビューアーなどがなくてもシンプルな記述のためメモ帳で開いても内容は簡単に確認できます。 ネットで公開されているGit内に、readmeとしてよく同梱されています。 Markdown記述の文書の方が、Gitでコミットの差分を比較確認するのに向いています。 Excelファイルだと、Gitのビューアーでは確認しにくいため、Markdownがホットになってきたのだと思っています。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

リモートリポジトリを複数設定したい

リモートリポジトリを複数設定する要件があったので、調べた結果を自分用に記録します。 現在のリポジトリを確認 git remote -v origin git@github.com:foobar/hoge-app.git (fetch) origin git@github.com:foobar/hoge-app.git (push) ここで出力されるのが、現在登録されているリポジトリです。 2つで1セットですね。 追加 どこでもいいので、新たにリモートリポジトリを作成し、以下を実行。 今回はgithubで作成しました。 git remote add hugahuga git@github.com:foobar/hoge-app2.git hugahugaの部分は自分で好きなわかりやすい名前をつけます。 確認 最初に実行したコマンドで設定が出来ているか確認します。 git remote -v origin git@github.com:foobar/hoge-app.git (fetch) origin git@github.com:foobar/hoge-app.git (push) hugahuga git@github.com:foobar/hoge-app2.git (fetch) hugahuga git@github.com:foobar/hoge-app2.git (push) 増えていれば成功です。 扱い方 それぞれのリポジトリに違うタイミングで別々にpushすることが出来ます。 git push origin main git push hugahuga main 参考記事
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

git submodule updateで進捗状況を表示する

問題 git submodule update コマンド使用時に、対象の外部サブリポジトリの容量が大きい場合、何も画面表示が変わらないまま固まってしまう(ように見えてしまう) 解決方法 --progress オプションを付与することで、通常の git clone 時と同様に進捗状況が表示されるようになる。 $ git submodule update --progress ... remote: Counting objects: 16355, done. remote: Compressing objects: 100% (10388/10388), done. remote: Total 16355 (delta 9044), reused 18163 (delta 8150) Receiving objects: 100% (16355/16355), 197.16 MiB | 1.02 MiB/s, done. 備考 Git 2.11より git submodule update の --progress オプションが追加されている。 https://github.com/git/git/commit/72c5f88311dab7149fcca1f6029414ccb776fee8
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【備忘録】Gitの初期設定

はじめに 備忘録としての初期設定(mac)について執筆します。 具体的には、Github上に登録したユーザー名とメールアドレスの設定、エディター(今回はAtom)の設定について記載します。 Gitとは バージョン管理システムの1つ。 バージョン管理システムとは、データ保存だけでなく、誰がいつどこを編集したのかを履歴を把握できるシステムのことである。これを使うことで、最新のデータがどこにあるのか確認でき、データの復元が容易にできる。 Gitの他のバージョン管理システムはMercurial、Subversion等がある。 環境 OS:macOS Big Sur 11.5.2 Gitのバージョン確認 macにはデフォルトでGitがインストールされている。 ターミナルで下記のコードを入力してバージョンの確認をする。 ※2021年9月9日現在のバージョンは 2.30.1 git version git version 2.30.1 (Apple Git-130) Gitがインストールされていない場合、下記のURLから下記URLからインストールする。 githubの登録 下記URLを参考に登録をする。 Atomのインストール 下記URLからインストールする。 ターミナルでの設定 GitbHubに登録したユーザー名とパスワードの設定、エディダーの設定(今回はAtom)をターミナルでせってしていく。 ※登録した名前を「name」、登録したメールアドレスを「mail」とする。 ターミナルに下記の内容を入力していく。 git config --global user.name "name" git config --global user.email "mail" git config --global core.editor "atom --wait" 入力内容の確認方法 ターミナル上で下記のコードを入力して設定内容を確認する。 ユーザー名の確認 git config user.name name メールアドレスの確認 git config user.email mail エディターの確認 git config core.editor atom --wait 一度に全ての入力内容の確認をする方法 一度に設定内容を確認するためには下記のコードをターミナルで入力する。 git config --list credential.helper=osxkeychain user.email=mitsunagahrk87@gmail.com user.name=HirokaMitsunaga core.editor=atom --wait 設定したフォルダの確認 今回設定した内容はgitconfigファイルに保存されている。 確認するためには、下記コマンドを入力する。 Cat:ファイルの中身を表示するコマンド cat ~/.gitconfig [user] email = mail name = name [core] editor = atom --wait 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

GithubとVScodeの連携

はじめに コマンドを実行してGithubにpush、pullしていましたが、 Visual Studio Codeと連携することでクリックのみでGitの操作をする方が便利だと思いメモ。 開発環境 Windows10 Gitにインストールや初期設定は完了している前提です。 リポジトリの作成 今回作成するリポジトリ名は"testrepository"とします。 リポジトリをクローン 先程作成したレポジトリ"testrepository"をローカルにクローンします。 Ⅰ.クローンするためのフォルダを新規に作成し、Vscodeで開きます。フォルダ名は"git"とします。 Ⅱ.Vscodeでターミナルを開き、下記コマンドを実行 $ git clone 作成したリポジトリのURl Ⅲ.クローンに成功するとgitフォルダの中にtestrepositryがクローンされているのを確認出来る プッシュ 先程クローンしたtestrepositporyに変更を加え、Githubにプッシュしてみます。 Ⅰ.Vscodeで、testrepositporyは以下にindex.htmlを作成します。 Ⅱ.index.htmlを編集(中にtestと記載します。) Ⅲ.下記のようにソース管理画面を開くと変更されたファイルが表示されるので、変更の横の+ボタンを押して全ての変更をステージする。 Ⅳ. その上のメッセージを入力する欄で、コミット時のメッセージを入力(first commitなど) Ⅵ.✓マークをクリックし、コミット、その横の・・・マークからプッシュをクリック Ⅶ.リポジトリにプッシュされているのが確認出来る。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

(git) 指定したコミットが含まれるか確認する

(git) 指定したコミットが含まれるか確認する git merge-base --is-ancestor commitA commitB 引数の説明 commitA → このコミットが含まれるか確認する commitB → このコミットを対象に commitA が含まれるか確認する。 結果 含まれる場合 → 終了コード 0 含まれない場合 → 終了コード 1 例 git merge-base --is-ancestor 7abcdef HEAD HEAD に 7abcdef が含まれるか確認する。 参考 Given a commit id, how to determine if current branch contains the commit? ↑ の機械翻訳 コミットIDを指定して、現在のブランチにコミットが含まれているかどうかを判断する方法
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む