[Git] コミット済みのファイルを Git LFS 管理対象にしたいとき

バイナリファイルコミットしちゃたけど、これ Git LFS 管理対象にしたかったよねー。。。

というときの作業メモです

わたしの環境は Windows での動作確認になります

1) git lfs installGit LFS をインストールします
わたしの環境にはすでに入っていたみたい…

>git lfs install
Updated Git hooks.
Git LFS initialized.

2) git lfs version でバージョンを確認しておく

>git lfs version
git-lfs/3.2.0 (GitHub; windows amd64; go 1.18.2)

3) git lfs track とすると、.gitattributes に格納されている対象データの情報が見れます

例えばこんな感じ

>git lfs track
Listing tracked patterns
    *.dll (.gitattributes)
    *.exe (.gitattributes)

4) git lfs track でLFS管理に入れたいファイルを指定します

>git lfs track "*.o"
Tracking "*.o"

ファイル単体を指定したければ、直接指定すればOK

>git lfs track "aaa/bbb/ccc.bin"

5) .gitattributes に追加した対象ファイルが記載されているので
それをコミット&プッシュすればOK!

6) まだLFS管理してなかったときにコミットしてしまったファイルは
いったん削除コミットをしてから、もう一度コミット&プッシュするのが良さそうでした


(参考リンク)


[Unity] Windows/macOS内にあるUnityの場所

バッチモードとかでUnityを起動させたいとき

Windowsだと

C:¥Program Files¥Unity¥Hub¥Editor¥(バージョン名)¥Editor¥Unity.exe

とまぁ想像のつく位置にいてるんですけど

macOSのとき、あれ?どこにあるんだっけな?になったので、そのメモです

mac の場合はここに居てました

/Applications/Unity/Hub/Editor/(バージョン名)/Unity.app/Contents/MacOS/Unity

(バージョン名) は例えば 2021.3.2f1 とかになります


[Windows] 壁紙のレジストリ設定場所

PCの壁紙にしてる画像データ…どこにあるんだっけ?
デスクトップでは見えてるんだけど…

そんな時は一度、レジストリの中を見てみたら解決するかもしれません

Windows11の環境で見てみました


壁紙のレジストリ設定

  1. regedit でアプリを検索すると Registry Editor が出てきます

  2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers
    の中に、壁紙として登録されている画像情報のパスが入っています

おお。。。ここにありましたか。。。!

しかし、
元のファイルを消しちゃったけど、デスクトップの壁紙だけは残ってるってときは
どこにあるんでしょうかね…
どなたか知ってる方いらっしゃれば教えてくださいmm


(参考)


[Git] macでgitを初めて使う時

mac で初めてコマンドから git を使う時の設定メモです

git コマンドが使えなかった

Gitをコマンドラインで打つと、こんなエラーが出ました。。。

1
% git 

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

開発者ツールが入ってないらしい

Xcode をインストールする

xcode-select --install でインストールします

1
2
3
% xcode-select --install
code-select: note: install requested for command line developer tools
% 

こんな感じでインストールが進みます

実際のダウンロードは、わたしの環境では20分くらい、インストールは10分くらいでした

そしてインストール完了のウィンドウが出てほっ…

Gitコマンドが使えるように

git と打ってみる

1
% git                   

usage: git [–version] [–help] [-C ] [-c =]
[–exec-path[=]] [–html-path] [–man-path] [–info-path]
[-p | –paginate | -P | –no-pager] [–no-replace-objects] [–bare]
[–git-dir=] [–work-tree=] [–namespace=]
[]

無事、コマンドラインから git が使えるようになりました〜


[Hugo] GitHub Actionsでサイトを自動デプロイしたときにCNAMEを残す方法

Hugo に限らないのですが
gh-pages ブランチを利用して GitHub Pages を作った時
自動デプロイで、独自ドメインの設定を記載した CNAME が消えちゃうことがあります

そのトラブルシュートについてです


Hugo 自体の設定もあるのですが、それよりも
元のコンテンツに CNAME ファイルを含めてしまうのがシンプルで簡単です

Hugo ならメインブランチの static ディレクトリ以下に CNAME を設置します

これだけでOK!


[C++] 2次元Vectorのメモ

HackerRankやってるときによく2次元配列が出てくるので、ちゃちゃっとやりたいときのメモです

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 2次元配列の宣言,,,出来れば v じゃなくて用途名にしたいところ…
std::vector<vector<int>> v(2, vector<int>(3));
// こんな配列が出来てる↓↓↓
v.at(0).at(0);
v.at(0).at(1);
v.at(0).at(2);
v.at(1).at(0);
v.at(1).at(1);
v.at(1).at(2);

// 呼び先でも内容を更新したいときは参照が楽…
void func(vector<int> &t)
void func(vector<vector<int>> &v)

// べた書きループはかなり楽
for(unsigned int i = 0; i < v.size(); ++i){
    for(unsigned int j = 0; j < v.at(i).size(); ++j){
        // 何か処理
    }
}
// べた書きループ、
// サイズチェックが気になる or 他でも利用するなるなら…
unsigned int row = v.size();
for(unsigned int i = 0; i < row; ++i){
    auto &box = v.at(i);
    unsigned int col = box.size();
    for(unsigned int j = 0; j < col; ++j){
        auto &ck_data = v.at(i).at(j);
        // 何か処理
    }
}

業務や後に残るコードではなく、とにかくちゃちゃっとやりたい、という要望って
自分はこれまで出会ったことが無かったので
この手のコーディングは、自分的にはかなり新しいというか新鮮な感じがします


[C++] Windowsの空のアプリケーションを作る手順メモ

いつもどうやったっけな?と思って同じ過ちを繰り返してるのでメモ

環境:
Visual Studio 2022

作りたいソリューション

いつもわたし、空のプロジェクトを作りたいからといって
Empty Project を選んでしまうのです…
すると、コンソールベースの exe を作るソリューションになってしまいます
ちゃうねん、これちゃうねん!


Windowアプリの空のソリューションを作りたい場合はこれ

  1. Create a new project
  2. Windows Desktop Wizard を選択
  3. Configure your new project で名前を入れて次に進む
  4. Windows Desktop ProjectDesktop Application (.exe) を選択
  5. 更に Empty project にチェックを入れる
  6. これで OK を押せば、よし!

これこれ、、、これやねん。。。


[Git] フォーク元のリポジトリに追いつきたいときメモ

よくフォークしたリポジトリを最新化する方法を忘れては検索を繰り返してるので、いい加減自分のブログにメモしておきます

最初の fork 以降、フォーク元のリポジトリに追いつきたいときのお話です


1. 自分のローカルのリポジトリに登録されているリモート情報を見てみる

1
$ git remote -v

わたしの実行結果はこんな感じ、まだフォーク元との関連はなし

1
2
3
$ git remote -v
origin	https://github.com/h-sao/xxx.git (fetch)
origin	https://github.com/h-sao/xxx.git (push)

2. フォーク元のURLを upstream に登録します

(フォーク元は zzz/xxx という名前で公開されている場合です)

1
$ git remote add upstream https://github.com/zzz/xxx.git

ちゃんと登録されてるかどうかは、さっきの git remote -v で確認します

1
2
3
4
5
$ git remote -v
origin	https://github.com/h-sao/xxx.git (fetch)
origin	https://github.com/h-sao/xxx.git (push)
upstream	https://github.com/zzz/xxx.git (fetch)
upstream	https://github.com/zzz/xxx.git (push)

upstream にフォーク元が登録されていますね

<余談>

もし upstream の内容を間違って登録してしまったときは
$ git remote remove upstream
このコマンドで削除することができます

3. フォーク元リポジトリを fetch and mearge します

1
2
$ git fetch upstream
$ git merge upstream/master

<余談>

※ これ↑↑↑ は主流のブランチが master の場合。ものによっては main の場合もあるので確認が必要!
@qt_luigi さんからのコメント頂いたので、記事に追記しておきます~

ローカルのリポジトリ内容が、フォーク元と同じに最新化されました!


あとは別ブランチでプルリクエストを出すなりなんなりすればOK

ローカルの master はこのまま push しておくのも忘れずに♪

一度この作業をやっておくと、GitHub側に Fetch upstream というボタンが出てくるので、次からはこのボタンをポチッとするだけで↓↓↓

内容がフォーク元に追いつきます

便利ですね〜★

(参考)


[C++] ラムダのパラメータリスト()が省略できるようになった

この記事は meetup app osaka@6 の参加記事です。

C++23 でタイトルの通り、パラメータリストのカッコが省略できるようになりました

gccなら12以上、Clangは14以上で動作するようです

1
2
3
4
[=]
// ()    // mutable 書いてても省略可能に!
mutable
{}

(もう少し追記するとおもいますが、今はこれで…)


[C++] HackerRank始めました

友達に、HackerRankやってみるといいよと言われたので、始めてみました

自分のプロフィールはこれ。。。
まだC++の問題を2問解いただけだけど
https://www.hackerrank.com/haruka_sao

履歴のために、自分の解いたコードをGitHubにアップしたりして…

https://github.com/h-sao/HackerRank/

ランクによってバッチが付きます

バッチは Language Proficiency でポイントを稼ぐとスターが付いていく方式です

最初に触ってみたのは c++ Language Proficiency Badges だったのですが
どう考えても面白くないというか、C++もう業務で何年も使えてるので
言語のほうは余暇で楽しむとして、アルゴリズム問題のほうを頑張っていこかなと思います

Problem Solving Badges は

こんな感じ…
先は長そうだけど、Gold目指して勉強になりそうだからぼちぼちやってみよかな~

他の競技プロブラムとは違って、自分のペースで取り組めそうなモードなので、わたしには合ってる予感

普段業務で使ってる/使ってたことでも、
自分なりに勉強してバージョンアップしていかないといけないなーと思ってたので、ちょうど良いタイミングで始められたような気がする

(自分が学生だったら、こういうのにめっちゃのめりこんでたんだろうなーと思うと、今の学生さんは環境が良くてうらやましいです)

時代遅れな人にならないように意識していかないとね。。。