CoreOS 上で git add -p
しようとしても、Perl が入ってないためこうなっちゃってつらい。
$ git add -p README.md
fatal: git was built without support for git-add--interactive (NO_PERL=YesPlease).
ので、git add -p
ができるコンテナを作ってホスト上でも git add -p
できるようにするラッパーコマンドを作ってみた。
#!/bin/bash
# Usage: ./gitaddp.sh file1 file2 file3
cat <<EOF > Dockerfile.gitaddp
FROM ubuntu
RUN apt-get update && apt-get install -y git vim
EOF
docker build -t gitaddp -f Dockerfile.gitaddp .
docker run -e EDITOR=vi --rm -ti -v $(pwd):/work --workdir /work gitaddp git add -p $@
#docker run --rm -ti gitaddp bash
rm Dockerfile.gitaddp
(alpine で apk add git しても git add -p できないようだったので ubuntu イメージを使用するようにした。)
こんな感じで普通にホスト上で git add -p
が使えるようになって便利。
$ ./gitaddp.sh README.md
Sending build context to Docker daemon 54.78 kB
Step 1 : FROM ubuntu
---> f49eec89601e
Step 2 : RUN apt-get update && apt-get install -y git
---> Using cache
---> 679f25d5ccf0
Successfully built 679f25d5ccf0
diff --git a/README.md b/README.md
index 3b18e51..7d9977a 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
hello world
+hello world 2
Stage this hunk [y,n,q,a,d,/,e,?]?
e を押すと vim で編集もできる。
docker コンテナでなんでもやろうとするのおもしろい。