43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
|
+++
|
||
|
date = "2017-04-20"
|
||
|
tags = ["git"]
|
||
|
title = "git-upstream"
|
||
|
slug = "git"
|
||
|
+++
|
||
|
|
||
|
Mastodonのアップデートが速いのでついていくのに大変さがあるので、この辺、自動化したい(かつこれが一般的なやり方かどうかわからないし、多分違う)。
|
||
|
|
||
|
```bash
|
||
|
heroku git:clone -a appname
|
||
|
cd appname
|
||
|
cp -rf .git .gitback
|
||
|
mv .gitback ../
|
||
|
|
||
|
git remote add upstream https://github.com/tootsuite/mastodon.git
|
||
|
git fetch upstream
|
||
|
git merge upstream/master --allow-unrelated-histories
|
||
|
|
||
|
# local
|
||
|
# 自分が変更したファイルはHARDを優先する
|
||
|
git --no-pager log -n 2 --graph --name-status --pretty=format:'%C(green)%an' --author=$USER | tr -d ' ' | cut -d ' ' -f 2|grep -v "|$USRR"
|
||
|
git checkout --ours filename
|
||
|
|
||
|
# update
|
||
|
# それ以外はupstream/masterを優先する
|
||
|
git checkout --theirs .
|
||
|
|
||
|
git rebase upstream/master
|
||
|
git rebase --continue
|
||
|
rm -rf .git
|
||
|
mv ../.gitback
|
||
|
|
||
|
git add .
|
||
|
git commit -m "up"
|
||
|
git push -f heroku master
|
||
|
```
|
||
|
|
||
|
何かあった時は`git reset --hard heroku/master`です。
|
||
|
|
||
|
Travis CIのcronでも走らせて対応しようかなと思いつつ、変更内容によっては手動で対応しなければならない場合もあるだろうし、やっぱり手動でやるしかないのかもしれない。
|
||
|
|