git diff で変種箇所だけ ^M
が付いてるのに気づきました.
編集ミスて改行コードを間違えたかと思ったけど元々 \r\n
なファイルで編集箇所以外も同じ \r\n
です.
でも非編集箇所は ^M
が出ません.
タグ: git
GitWebでリポジトリが404になってしまう
ふとGitWebを起動したら404になって困りました.
$ git instaweb --httpd webrick
$ w3m -dump http://127.0.0.1:1234/ ]> gitprojects / 404 - No projects found OPML TXT
Gitコマンドのデフォルトブランチをmainにする
Gitのデフォルトブランチはmasterですが,masterからslaveという言葉を連想して一部に人が不愉快に感じるので使わないようにしようという動きが2年ほど前からあって各種サービスのデフォルトブランチもmainになっています.(witelist/blacklistなんかも)
でも手元のGitコマンドのデフォルトはmasterなので既定値を変更してみました.
GitLabのデフォルトブランチ切り替えと削除
GitLabで空のリポジトリを作成するとmainブランチが作られ,ローカルのmasterブランチのリポジトリをpushしても反映されない?と混乱するというのをやっていました.
とりあえずGitLabでデフォルトブランチを変更して空のmainブランチを削除しました.
GitHub.comのリポジトリの特定のディレクトリ以下をダウンロードできる「GitHub clone」
大きなGitリポジトリをcloneすると時間がかかります.最新のものだけが欲しい場合は --depth
オプションがありますが,リポジトリの一部のディレクトリ以下だけが欲しい時には使えません.そういうときにGitHub cloneを使うと,特定のディレクトリ以下だけをダウンロードできて便利そうです.
少し試してみました.
$ pip3 install git+git://github.com/HR/github-clone#egg=ghclone (1)
$ ghclone (2)
Usage:
ghclone <url> [-t | --token=<token>]
ghclone (-h | --help)
ghclone (-v | --version)
$ ghclone https://github.com/torvalds/linux/tree/master/tools/usb/usbip (3)
Cloning into 'usbip'...
done.
$ cd usbip
$ ls -A (4)
.gitignore AUTHORS COPYING INSTALL Makefile.am README autogen.sh cleanup.sh configure.ac doc libsrc src vudc
$ git status (5)
fatal: not a git repository (or any of the parent directories): .git
$ cd ..
$ ghclone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/usb (6)
Invalid GitHub URI
- pipで導入する(もしPATHが通ってなければ
~/.local/bin
を加える) - USAGE
- Linux Kernelの一部だけをダウンロード
- ダウンロード内容確認
- Git管理はされていない
- GitHub以外のGitリポジトリに対して実行すると失敗する
GitHub.comのAPIを利用しているのでGitHub.com以外では使えませんが便利そうです.
似たものにBitBacketで同様のことができる,「bb-clone」というものもあるようです.
$ ghclone -v 1.2.0 $ dpkg-query -W git python3-pip python3 git 1:2.20.1-2+deb10u3 python3 3.7.3-1 python3-pip 18.1-5+rpt1 $ lsb_release -dr Description: Raspbian GNU/Linux 10 (buster) Release: 10 $ uname -a Linux raspberrypi 5.10.11-v7+ #1399 SMP Thu Jan 28 12:06:05 GMT 2021 armv7l GNU/Linux $ cat /proc/device-tree/model ;echo Raspberry Pi 3 Model B Rev 1.2
Git学習ゲームの「Oh My Git!」
先週あったFOSDEM 2021のライトニングトーク(といっても1コマ20分)で知ったのですが,「Oh My Git!」というGit学習ゲームがあるそうです.
マルチプラットホームでWindows/macOS/Linux版が用意されています.バイナリはitch.ioで入手できます.
Note
|
itch.ioについてはこのあたりを. ゲーミングプラットホームのitch – Speaker Deck |
お題が出てきて,それにあった操作のカードを切ってgitの操作をしていきます.実際のコマンド内容も表示され,リポジトリも実際にローカルマシンに作られます.
ツリーがグラフィックで表現されてわかりやすいしキーボードに慣れていない人でもカードで操作だし入門に良さそうな感じです.後はローカライズされると勧めやすくなるかな.