<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>git on いつかの熊右衛門</title><link>https://kuma-emon.com/tags/git/</link><description>Recent content in git on いつかの熊右衛門</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Fri, 04 Nov 2022 20:47:31 +0900</lastBuildDate><atom:link href="https://kuma-emon.com/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>git：ローカルサーバー内で共有リポジトリを使う</title><link>https://kuma-emon.com/posts/it/pc/4466/</link><pubDate>Sat, 05 Nov 2022 12:46:00 +0900</pubDate><guid>https://kuma-emon.com/posts/it/pc/4466/</guid><description>&lt;img src="https://kuma-emon.com/" alt="Featured image of post git：ローカルサーバー内で共有リポジトリを使う" /&gt;&lt;p&gt;開発サーバー内に共有リポジトリを作成するときのメモです。&lt;br&gt;
別サーバーにリポジトリを用意する程では無いときの参考になれば。&lt;/p&gt;
&lt;h2 id="状況"&gt;状況
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ホームディレクトリ配下でソースコードを書いて git で管理していた&lt;/li&gt;
&lt;li&gt;そのソースコードを、同一サーバーの他ユーザーと更新したくなった&lt;/li&gt;
&lt;li&gt;別サーバーに git のリポジトリを用意する程では無い&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということで、サーバー内に共有リポジトリを用意することにしました。&lt;/p&gt;
&lt;h2 id="共有前のソースコード"&gt;共有前のソースコード
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ソースコードを作成したユーザーは kuma&lt;/li&gt;
&lt;li&gt;ホームディレクトリの example フォルダでソースコードを書いており、git を使っている&lt;/li&gt;
&lt;li&gt;ブランチは master と develop がある&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;pwd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/home/kuma/example
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git branch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;* develop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; master
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="グループを作成してユーザーを所属させる"&gt;グループを作成してユーザーを所属させる
&lt;/h2&gt;&lt;p&gt;共有リポジトリを使用するユーザーのグループ名を developer で作成します。&lt;br&gt;
ユーザーの kuma と、コードを共有するユーザー hachi を所属させます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo groupadd developer
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo usermod -aG developer kuma
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo usermod -aG developer hachi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;できているか確認します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ getent group developer
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;developer:x:1008:kuma,hachi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="共有リポジトリの作成"&gt;共有リポジトリの作成
&lt;/h2&gt;&lt;p&gt;共有リポジトリの作成先は /usr/local/git/example.git/ とします。&lt;br&gt;
共有リポジトリの所有グループを developer に変更します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo git init --bare --shared /usr/local/git/example.git/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo chgrp -R developer /usr/local/git/example.git/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;作成していたソースコードを、共有リポジトリに反映します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;pwd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/home/kuma/example
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git remote add origin /usr/local/git/example.git/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git push --set-upstream origin master
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git push --set-upstream origin develop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="共有リポジトリを使う"&gt;共有リポジトリを使う
&lt;/h2&gt;&lt;p&gt;ソースコードの更新に加わる hachi ユーザーは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;メールアドレスと名前を設定&lt;/li&gt;
&lt;li&gt;ソースコードを自身のホームディレクトリ配下に clone&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;pwd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/home/hachi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git config --global user.email &lt;span class="s2"&gt;&amp;#34;hachi@example.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git config --global user.name &lt;span class="s2"&gt;&amp;#34;hachi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ git clone /usr/local/git/example.git/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とすることで、hachi は /home/hachi/example/ で作業でき、git で kuma とソースコードを更新していく感じです。&lt;/p&gt;</description></item><item><title>GitLens を好みの設定に変更する</title><link>https://kuma-emon.com/posts/it/pc/3832/</link><pubDate>Sat, 25 Jun 2022 08:33:45 +0900</pubDate><guid>https://kuma-emon.com/posts/it/pc/3832/</guid><description>&lt;img src="https://kuma-emon.com/" alt="Featured image of post GitLens を好みの設定に変更する" /&gt;&lt;p&gt;Git との連携に欠かせない &lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" target="_blank" rel="noopener"
 &gt;GitLens&lt;/a&gt; 。個人的にはソースコード上に色々表示され過ぎに感じるんですが、非表示にできるようなので設定を見直しました。&lt;br&gt;
設定項目が 218 個（v12.1.1時点）もあって個々に見るのは辛いので、「GitLens Setting editor」から設定するのが良さそうです。&lt;/p&gt;
&lt;h2 id="gitlens-setting-editor-を開く"&gt;GitLens Setting editor を開く
&lt;/h2&gt;&lt;p&gt;「GitLens Setting editor」を開くには、コマンドパレットから「GitLens：Open Settings」を選択します。コマンドパレットは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows なら Shift + Ctrl + P&lt;/li&gt;
&lt;li&gt;Mac なら Shift + Command + P&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;で表示されるので、「GitLens：Open Settings」を選択します。&lt;br&gt;
何文字か入力してから探すと良いです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2022/06/gl001.jpg"&gt;&lt;/p&gt;
&lt;h2 id="設定を変更する"&gt;設定を変更する
&lt;/h2&gt;&lt;p&gt;後は自分の好みで変更するだけです。以降は自分の設定を紹介します。&lt;br&gt;
設定を反映する範囲を「User」か「Workspace」か選択できますが、自分は「User」で自身が使う全体の設定にしています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2022/06/gl002.jpg"&gt;&lt;/p&gt;
&lt;p&gt;まず、開いたソースコード上には色々表示されたく無いので、Blame などは非表示にしています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2022/06/gl03-1024x356.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Blame あり&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2022/06/gl04-1024x358.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Blame なし&lt;/p&gt;
&lt;p&gt;なので、以下のチェックボックスは Off にしています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Current Line Blame&lt;/li&gt;
&lt;li&gt;Git CodeLens&lt;/li&gt;
&lt;li&gt;Hovers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;後は日時の書式を、分かりやすい表記に変えています。&lt;br&gt;
「6 Years ago」→「2016/11/13 05:41:00」&lt;br&gt;
「7 25th, 2018 7:18 夜」→「2018/07/25 19:18:00」&lt;br&gt;
とかですね。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Commits view
&lt;ul&gt;
&lt;li&gt;Commit description format : ${author, }${date}&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Stashes view
&lt;ul&gt;
&lt;li&gt;Stash description format : ${stashOnRef, }${date}&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;File Blame
&lt;ul&gt;
&lt;li&gt;Annotation format : ${message|50?} ${date}&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Status Bar Blame
&lt;ul&gt;
&lt;li&gt;Annotation format: ${author}, ${date}${&amp;rsquo; via &amp;lsquo;pullRequest}&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Dates &amp;amp; Times
&lt;ul&gt;
&lt;li&gt;Date format : YYYY/MM/DD HH:mm:ss&lt;/li&gt;
&lt;li&gt;Time format : HH:mm:ss&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;editor なら個々の設定項目を追うより大分楽ですね。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.amazon.co.jp/dp/B084SS63L4" target="_blank" rel="noopener" class="affi-link"&gt;Visual Studio Code実践ガイド (Amazon)&lt;/a&gt; &lt;a href="https://www.amazon.co.jp/dp/B07KXGNVS2" target="_blank" rel="noopener" class="affi-link"&gt;Visual Studio Codeデバッグ技術 (Amazon)&lt;/a&gt; &lt;a href="https://www.amazon.co.jp/dp/B08WHG4VF9" target="_blank" rel="noopener" class="affi-link"&gt;Docker Desktop for Windows/Mac と VSCode でつくるクリーンな開発環境構築入門 (Amazon)&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ソースコードの差分を GitLens で確認するには</title><link>https://kuma-emon.com/posts/it/pc/2255/</link><pubDate>Sat, 20 Nov 2021 20:27:11 +0900</pubDate><guid>https://kuma-emon.com/posts/it/pc/2255/</guid><description>&lt;img src="https://kuma-emon.com/" alt="Featured image of post ソースコードの差分を GitLens で確認するには" /&gt;&lt;p&gt;ソースコードを git で管理しているとき、差分を確認するには VSCode 上で &lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" target="_blank" rel="noopener"
 &gt;GitLens&lt;/a&gt; 拡張機能を使うと便利です。&lt;/p&gt;
&lt;h2 id="vscode-に-gitlens-拡張機能を追加する"&gt;VSCode に GitLens 拡張機能を追加する
&lt;/h2&gt;&lt;p&gt;環境&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Visual Studio Code バージョン: 1.62.3&lt;/li&gt;
&lt;li&gt;GitLens バージョン: 11.7.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlens1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;インストール手順&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;クリックして「拡張機能」を選択&lt;/li&gt;
&lt;li&gt;&amp;ldquo;gitlens&amp;rdquo; で検索&lt;/li&gt;
&lt;li&gt;「インストール」をクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="コミットの変更を表示する"&gt;コミットの変更を表示する
&lt;/h2&gt;&lt;p&gt;「&lt;a class="link" href="https://github.com/axios/axios" target="_blank" rel="noopener"
 &gt;axios&lt;/a&gt;」を例にするので、ローカルにクローンしました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlens5-1-2.jpg"&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;「ソース管理」をクリック&lt;/li&gt;
&lt;li&gt;「COMMITS」を開く&lt;/li&gt;
&lt;li&gt;コミットを開くと変更したファイルが分かるので、見たいファイルを選択&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;で確認することができます。&lt;/p&gt;
&lt;h2 id="コミット間の差分を表示する"&gt;コミット間の差分を表示する
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlens6-1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;比較元のコミットを右クリックしてメニューから選択すれば OK です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compare with HEAD → HEAD と比較&lt;/li&gt;
&lt;li&gt;Compare with Working Tree → 現在作業中のブランチと比較&lt;/li&gt;
&lt;li&gt;Select for Compare → 比較元として選択&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「Select for Compare」を選択した場合、比較先のコミットを右クリックしたとき「Compare with Selected」があるので選択します。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlens7.jpg"&gt;&lt;/p&gt;
&lt;p&gt;「SEARCH &amp;amp; COMPARE」で、コミット間のファイルとその内容の差分が確認できます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlens9-1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;比較を消したいときは、「Clear Results」アイコンをクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlensA.jpg"&gt;&lt;/p&gt;
&lt;h2 id="１つのファイルを過去と比較するには"&gt;１つのファイルを過去と比較するには
&lt;/h2&gt;&lt;p&gt;対象のファイルを開いてから「ソース管理」を選択後、「FILE HISTORY」の方で同様に確認できます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://kuma-emon.com/images/2021/11/gitlensB.jpg"&gt;&lt;/p&gt;
&lt;p&gt;複数コミットに渡ったレビューするときに、レビューする側される側どちらになった場合でも、知っておくと便利だと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.amazon.co.jp/dp/B084SS63L4" target="_blank" rel="noopener" class="affi-link"&gt;Visual Studio Code実践ガイド (Amazon)&lt;/a&gt; &lt;a href="https://www.amazon.co.jp/dp/B07KXGNVS2" target="_blank" rel="noopener" class="affi-link"&gt;Visual Studio Codeデバッグ技術 (Amazon)&lt;/a&gt; &lt;a href="https://www.amazon.co.jp/dp/B08WHG4VF9" target="_blank" rel="noopener" class="affi-link"&gt;Docker Desktop for Windows/Mac と VSCode でつくるクリーンな開発環境構築入門 (Amazon)&lt;/a&gt; &lt;a href="https://www.amazon.co.jp/dp/B094CZTKFV" target="_blank" rel="noopener" class="affi-link"&gt;Software Design (ソフトウェアデザイン) 2021年6月号 (Amazon)&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>