LoginSignup
3
1

More than 5 years have passed since last update.

CoreOS で git add -p する

Posted at

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 コンテナでなんでもやろうとするのおもしろい。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1