2020-06-05
6/5
shallow cloneしたgitのリポジトリを同じdepthでpullするには
動作環境:
- Ubuntu 18.04
- git v2.17.1
前提:
git clone --depth=1
でcloneした。
バッチ実行で掲題の操作を安全確実にやる方法がなかなか見つからなかった。
色々試していたところ、以下で行けるとわかった。
git fetch --depth=1
git pull
Read Onlyな使い方しかしないなら、 git fetch --depth=1 && git checkout origin/master
でもいいかと思ったけど、上で済むならそれでいいや。
上が動かなかったら、下のように強引にやる手もあった:
git fetch --depth=1
git checkout origin/master
git branch -D master
git checkout -b master
# git branch --set-upstream-to=origin/master
最後の行はなくてもまあなんとかなるけど、ブランチ作り直すと追跡ブランチの情報が消えるので。
NG集
# ふつうにpull
# 動くけど、shallow clone以降の履歴が全部残る
$ git pull
# 一応動いてるようだけどエラーが出る
$ git pull --depth=1 [--update-shallow]
:
+ f22f6e5...caec91c master -> origin/master (forced update)
error: Could not read 843b95a87c496da6eac6160744854af3070db0fd
error: Could not read 843b95a87c496da6eac6160744854af3070db0fd
First, rewinding head to replay your work on top of it...
$ git fetch --depth=1; git rebase origin/master
# たまにCONFLICTする
$ git fetch --depth=1; git merge origin/master [--squash]
fatal: refusing to merge unrelated histories
NOTE:
--update-shallow
は.git/shallow
の更新を許すオプション
Zoomの定期ミーティング生成やGoogleカレンダーへの反映を自動化できないか
ZoomとGoogleのAPIでなんとかできるかも。
https://marketplace.zoom.us/docs/api-reference/zoom-api
Zoom APIについて:
- OAuth 2認証
- public/privateアプリを作れる
- Chatbotも作れるっぽい
やればできるのでは。
先行者がいた。
できそう。
最終更新 2020-06-24: [memo/2020] Archive 202006{05,08,10}.md (93283d1b7)