カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

特定の日時を指定してコミットする

あまり使うことはないかもしれませんが、メモ代わりに投稿しておきます。

特定の日時を指定してコミットするには--dateオプションを使って日時を指定します。

git commit -m "コミットメッセージ" --date="Jan 1 00:00:00 2024 +0900"
151 views

Macへのgitインストール

一番簡単な方法です。
XcodeのCommand Line Toolsをインストールするとgitが使えるようになります。

xcode-select --install
387 views

gitコマンドで差分抽出とアーカイブ出力

gitを使ってソース管理し開発をしていて、差分ファイルをリリースするときのTipsです。

差分を抽出する

git diff [古いブランチ名]..[新しいブランチ名]
git diff [古いブランチ名] [新しいブランチ名]

ファイル名だけを列挙したいとき

git diff --name-only [古いブランチ名] [新しいブランチ名]

ファイル名のリストをテキストファイルにリダイレクトで書き出す

git diff --name-only [古いブランチ名]..[新しいブランチ名] >> diff.txt

ブランチをアーカイブ出力

git archive [ブランチ名] -o archive.zip

出力するディレクトリを指定

git archive --prefix=archive/ [ブランチ名] -o archive.zip

差分抽出とアーカイブ出力を組み合わせて、抽出した差分ファイルをアーカイブ出力

git archive --prefix=archive/ [新しいブランチ名] (git diff --name-only [古いブランチ名] [新しいブランチ名] --diff-filter=ACMR) -o diff.zip
フィルターの種類
A 追加
C コピー
M 変更
R リネーム
D 削除

小文字にすると逆になるので、以下のようにしても同じことになります。

git archive --prefix=archive/ [新しいブランチ名] (git diff --name-only [古いブランチ名] [新しいブランチ名] --diff-filter=d) -o diff.zip
1,954 views

VSCode+GitとGitHubを連携させる

VSCodeを使ってローカルリポジトリとGitHubのリモートリポジトリを連携させる方法

まずはGitHubにログインして新しいリポジトリを作成しましょう。
新しいリポジトリを作成したときに表示されるコマンドでの公式のやり方を参考にします。

リポジトリを何の設定もせずに作成したときに以下のような連携方法が表示されます。

…or create a new repository on the command line
echo "# python_practice" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
git push -u origin main
…or push an existing repository from the command line
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
git branch -M main
git push -u origin main

前者の方法はローカルリポジトリが未作成の場合の方法です。
今回はローカルリポジトリは作成済のものとして後者の方法で進めていきます。
続きを読む…»

827 views

VSCodeのソース管理でリポジトリの初期化が出来ない

VSCodeとGit for Windowsを使ってソース管理をしています。
新たに管理したいディレクトリがあったので、リポジトリを初期化しようとしてハマったのでその解決法を書いておきます。

環境
– Windows 10 64bit
– VSCode 1.68(1.67でも検証)
– Git for Windows 2.36.1.windows.1

管理したいディレクトリをVSCodeで開き、リポジトリを初期化しようしました。
すると、.gitディレクトリは作成されるものの、VSCodeの表示は「リポジトリを初期化」ボタンが表示されたままで、ソース管理が出来ません。

Git Bashにてコマンドでやってみよう
git initを実行

$ git init
Initialized empty Git repository in C:/***/.git/

.gitディレクトリは作成されました。
続いて、git add -Aを実行

$ git add -A
fatal: unsafe repository ('C:/***' is owned by someone else)
To add an exception for this directory, call:

        git config --global --add safe.directory C:/***

と言われ、リポジトリへの追加が出来ませんでした。
続きを読む…»

4,635 views