20200426のGitに関する記事は8件です。

【Git】Gitの基本操作と基本コマンド

Gitの仕組みとコマンドについて改めて基礎を復習したのでまとめておきます。

Gitの特徴

Gitの特徴は以下になります。

  • データをスナップショットとして管理する
  • コミットでバージョンを記録する

この二つができることで何が便利かと言いますと、

  • 差分で保存しないので開発スピードが上がる
  • スナップショットで記録しているのでバージョンをそのまま以前の状態に戻すことができる

というところです。

私が以前参加したプロジェクトはものすごくレガシーな環境だったため、バージョン管理ツールも非常に古く差分をいちいち確認しなければいけないタイプだったのですが、それだと非常に進捗が遅くなり効率が悪いです。
それに対してGitは、上に挙げたような理由からそういった従来の管理ツールの欠点を解消した形で誕生し、現在はほとんどの開発に利用されているわけですね。

Gitの操作の流れ

自分の変更の場合

  1. ローカルでファイルの変更
  2. ローカルリポジトリにスナップショットを記録
  3. GitHubにアップロードする
git init

ローカルリポジトリ

ローカルリポジトリはファイル変更などを記録しておく場所のことです。

他人の変更を取り込む場合

  1. GitHubから記録を取得する
  2. 取得したGitHubの記録をワークツリーに反映する
git clone リポジトリ名

ローカルを詳しく見る

ローカル環境については以下三つを押さえておく。

  1. ワークツリー
  2. ステージ
  3. リポジトリ

ワークツリー

ファイルを変更する場所。
ここで開発作業を行う。

ステージ

コミット(スナップショットを記録)する変更を準備する場所。
一旦ここに変更を追加する。

git add ファイル名

記録しておきたい変更分のみ追加しておく。

リポジトリ

スナップショットを記録する。
ステージの追加が完了したら最後にコミットをして変更を記録する。

git commit

変更状況を確認

git status

変更差分を確認

git add する前の変更差分を確認。

git diff

git add した後の変更差分を確認。

git diff --staged

変更履歴を確認

コミットの履歴を確認できる。

git log

削除の記録をする

ファイルごと削除する場合。

gir rm ファイル名

ディレクトリごと削除する場合。

git rm -r ディレクトリ名

ファイルを残したいとき。

git rm --cached ファイル名

移動の記録する

git mv 旧ファイル 新ファイル

GitHubにアップする

GitHubにリモートリポジトリを登録。

git remote add origin

ローカルリポジトリにコミットしたものをGitHubに送信する。

git push -u origin master

初回に-uオプションをつけておくと次回以降記載がpushのみで良いので楽になる。

コマンドにエイリアスをつける

コマンドにエイリアスをつけとくことでコマンド入力が楽になる。

例:commitコマンドにcoというエイリアスを付与する。

git config alias.co commit

パソコン全体の設定を変えたい場合。

git config --global alias.co commit

バージョン管理したくないファイル

.gitignoreファイルに管理したくないファイルを指定する。

#コメント

#ファイル指定
index.html

#ディレクトリ以下を指定
dir/

変更の取り消し

色々取り消し方法。

ファイルの変更を取り消す

git checkout --ファイル名(またはディレクトリ名)

全変更を取り消す場合。

git checkout -- .

ステージした変更を取り消す

git reset HEAD ファイル名(またはディレクトリ名)

全変更を取り消す場合。

git reset HEAD .

直前のコマンドをやり直す

git commit --amend

※チーム開発で混乱してしまうため、リモートリポジトリにpushをしたコミットを修正してはいけない。

まとめ

ひとまずここでいったん終了いたします。
まだ使うコマンドはたくさんあるので、後ほどまた別記事で書いていく予定です。
そちらもぜひ読んでいただければと思います。

ではでは。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

VSCODEでGitが動かなくなった。

環境

  • Git 2.7
  • WSL(ubuntu)

想定状況

2020-04-26 (3)_LI.jpg

囲った所をクリックすると以下のエラーが発生する。又は何も反応しない。

command 'git.viewHistory' not found

解決策

.vscode/extensions/donjayamanne.githistory-0.4.0/に移動し以下を入力。

npm install

再起動したら直っていると思います。

参考文献

command 'git.viewHistory' not found #238

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Git Hook pre-commit プログラミングの仕組みと解説

Git Hook pre-commit プログラミングの仕組みと解説

About hook

ある機能を実行する前後に、ユーザー側にプログラムを実行する機会を与える機能です。

git hook とは、commit や push などの命令をする際、命令が実行される前や後に、シェル・スクリプトを実行できる機能です。

リポジトリをクローンしたディレクトリーに、.git という隠しディレクトリがあり、その中に hooks というディレクトリーがあります。この中にシェル・スクリプトを保存します。

保存したファイル名でhookされますので、任意のファイル名は使えません。

About git hook

gitには、特定のコマンドが入力されると、シェル・スクリプトを実行する機能(git hook)があります。
よく使われるのは以下だと思われます。

  • master に push したら、自動でサーバーにデプロイする
  • master を更新したら、自動でユニットテストが実行される
  • push する前に、特定の文字列やフォーマットをチェックする

できることの一覧は、公式サイトをご覧ください。
サンプルファイルは、 .git/hooks ディレクトリに入っています。
diffのオプションについて、とても参考になりました。

Point

git hook用の命令や変数などはありません。 (多分?)
コミットやプッシュのタイミングで、シェル・スクリプトが実行されるだけです。
スクリプトでは、既存のgitのコマンドを使って、更新されたファイルを取得し、差分をチェックしたりします。

Important

pre-commit で制限をかけた際に、制限を無視してコミットしたい場合があります。
そのような場合は pre-commit をスキップする(実行しない)オプションがあります。

git commit -n もしくは git commit --no-verify とします。

Script

今回は、 var_dumpprint_r が追加されていたら push できないというスクリプトを書きました。

スクリプトが、0を返すと命令は中断され、pre-commit の場合はコミットが実行されません。

vi .git/hooks/pre-commit

pre-commit
#!/bin/bash

# Case sensitive
shopt -s nocasematch

# Get committed files
files=`git diff --cached --name-only`;

# Loop at each file name
for file in $files
do
  # Get diff lines
  lines=`git diff --cached "$file"`
  # Loop at each lines
  for line in $lines
  do
    # Search target word - bash's regexp is broken????? 
    if [[ ${line} =~ ^\+var_dump|print_r ]]
    then
      # Error message
      echo
      echo ".git/hooks/pre-commit : $file --> ${BASH_REMATCH[0]}"
      echo
      echo "$lines";
      exit 1
    fi
  done
done

# No problem
exit 0

余談

シェル・プログラミングは苦手意識があり、慣れていないので、PHPで書きたいと思ったのですが、シェバンを #!/usr/bin/env php として実行したところ、上手くいかずに断念しました。

また、シェルの正規表現が謎で、 ^\+var_dump|print_r どうしてこれでマッチするのかよく分かりません。
これは、+から始まる行で、特定の文字をマッチさせたいのですが、 ^\+.*var_dump|print_r としなければマッチしないと思うのですが、マッチしていてよく分かりません。

こちらの記事が参考になりました。
https://qiita.com/myblackcat7112/items/5e8205f1b5161a1f8590

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

研修でのgitコマンドまとめ

研修でCRUDアプリを作成してレビューして完成させるまでのgitのコマンドを流れに沿ってまとめました。(備忘録用)

まずCRUDアプリを作成するまでの流れを簡単に
1. githubでレポジトリ作成
2. ローカルでgit cloneしてディレクトリ作成
3. rails new で新規作成

基本的な流れ

1.ブランチを切って作業する
2.作業完了後ファイルの変更箇所をリモートブランチにプッシュする
3.PRを作成してレビューをしてもら
4.修正依頼 or LGTM
5.修正依頼の場合、指摘箇所を修正してプッシュ →2へ
6.LGTMの場合githubでマージしてその内容をmasterへpullする

1.ブランチを切って作業する
git branch -b 新ブランチ名 master 

2.作業完了後ファイルの変更箇所をリモートブランチにプッシュする
git add .

git commit -m 'メッセージ'

git push origin ブランチ名

3.PRを作成してレビューをしてもら

4.修正依頼 or LGTM

5.修正依頼の場合、指摘箇所を修正してプッシュ →2の内容とほぼ同じ

6.LGTMの場合githubでマージしてその内容をmasterへpullする

# masterブランチへ移動
git checkout master

git pull origin master

その後にまたブランチを切って次の作業へ(1~6の繰り返し)

ここまでが基本的な流れ

ケース1:レビューしてもらっている間に次の作業に取り掛かる

git branch -b 新ブランチ名 orgin/現作業ブランチ名

新ブランチで作業中に前の作業ブランチでLGTMをもらいmasterにmergeされた内容を取り込む

#変更を取り込む
git rebase master

コンフリクトが起きなければそのままでOK!
コンフリクトが起きたら解決(私の場合はVScodeで解決)してcontinue

# コンフリクト解決して
git add .
git rebase --continue

# 下記コマンドでrebaseを取り消すこともできる
git rebase --abort

ケース2: pushしてPR作成後に微修正箇所が見つかった

#softオプションをつけてcommitの取り消し
git reset --soft

修正完了後
git add .

git commit -m 'コミットメッセージ'

# すでにリモートにはコミットが存在しローカル環境とのコミットの整合性が取れないので
# force push で強制的にpushする -fは要注意
git push -f origin ブランチ名

ケース3: リモートブランチのコミットを取り込む

#1ブランチから新たに#2ブランチを切って作業中に#1のレビューで修正がありそのコミットを#2のブランチに取り込みたい

git pull --rebase origin #1

ケース4: コミットせずにブランチを切り替える

#2で作業中に#1のブランチの修正依頼があり#2の変更ファイルをコミットせずにブランチを切り替える

変更をコミットせずに退避
git stash save

退避する際に新規ファイルが存在する場合
git stash -u

#1にブランチ切り替え
git checkout #1

#1の修正 add commit push完了 #2ブランチに戻る
git checkout #2

退避した内容を戻す
git stash pop スタッシュ名

他にもgit statusやgit logなどもありましたが今回はCRUDアプリ作成に直接関係しなかったので省きました。
以上が私がCRUDアプリ作成時に使ったgitコマンドです。

最後までご覧いただきありがとうございます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Git memo

ローカルブランチ名を指定して、リモートブランチをチェックアウト
git checkout -b feature-XXXX origin/feature-XXXX

リモートにあるブランチをローカルでチェックアウト
git checkout --track origin/feature-XXXX

ローカルを、強制的にリモートに合わせる
git fetch origin develo
git reset --hard origin/develop

addしてないファイルを破棄
git checkout <filename>
または特定のファイルではなくすべて戻したいときは
git checkout .
新規作成のファイル(untracking)も削除
git clean -f

ファイルの一部をadd
git add -p ファイル名
→その後 y or n
→提示されたHunkをさらに分割したいときは s

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

エラー解決 GitHub error “fatal: bad config file line 74 in .git/config”

macOS Mojave
バージョン10.14.6(18G2022)

Cloud9でgitのaliathの設定をし終えた時

gakkie:~/environment/rails_tutorial/sample_app $ git config -e                                                                                                                                                                                                                   
fatal: bad config line 76 in file .git/config

.git/configの76行目にエラーがある。

gakkie:~/environment/rails_tutorial/sample_app $ vim .git/config
#76行目を修正

gakkie:~/environment/rails_tutorial/sample_app (hogehoge) $ vim .git/config
#ブランチ名が表示される、エラー表示もなくなった。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

git add .で警告。warning: adding embedded git repository:

警告内容

$ git add .
warning: adding embedded git repository: リポジトリ名
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint: 
hint:     git submodule add <url> リポジトリ名
hint: 
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint: 
hint:     git rm --cached リポジトリ名
hint: 
hint: See "git help submodule" for more information.

ー 原因は? ー

コミットしようとしたプロジェクトのフォルダの中に、別に取り込んできたリポジトリがあるからステージングできない

思い当たることと言えば、確かにcloneしたリポジトリへ別のリポジトリのものを取り込んできていました。
原因はそこでしたね。

そして、解決策は?

試したこと

hint:     git rm --cached リポジトリ名

で記載されている通りに$ git rm --cached リポジトリ名
してみましたが、

error: the following file has staged content different from both the
file and the HEAD:

とのことで、『違うファイルがステージングされる』から無理ですよ。ってことですかね。

解決法

そこで一度/.gitをを削除します。

$ rm -rf リポジトリ名/.git

これで、$ git add .は問題なくパスできます。

しかし、続いてはコミット&プッシュができない。

そこで今度は以下のコマンドを打ちました。

$ mv リポジトリ名 subfolder_tmp
$ git submodule deinit リポジトリ名
$ git rm --cached リポジトリ名
$ mv subfolder_tmp リポジトリ名
$ git add リポジトリ名

解決しました。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【LINUXコマンド】オプションの短縮表記一覧

オプションの短縮表記一覧

______________________
コマンド
A____
-a
-A
B____
-b
-B
C____
-c
-C
D____
-d
-D
E____
-e
-E
F____
-f
-F
G____
-g
-G
H____
-h
-H
I____
-i
-I
J____
-j
-J
K____
-k
-K
L____
-l
-L
M____
-m
-M
N____
-n
-N
O____
-o
-O
P____
-p
-P
Q____
-q
-Q
R____
-r
-R
S____
-s
-S
T____
-t
-T
U____
-u
-U
V____
-v
-V
W____
-w
-W
X____
-x
-X
Y____
-y
-Y
Z____
-z
-Z
0____
-0
1____
-1
2____
-2
3____
-3
4____
-4
5____
-5
6____
-6
7____
-7
8____
-8
9____
-9
#____
-#
_____
-?
ls1 a2
A3
b4
B5
c6
C7
d8
D9
- f10
F11
G12 h13
H14
i15
I16
- k17 l18
L19
m20 n21
N22
o23 p24 q25
Q26
R27 s28
S29
t30
T31
u32
U33
v34 w35 x36
X37
- Z38 - 139 - - - - - - - - - -
touch40 a41 - c42 d43 - f44 - h45 - - - - m46 - - - - r47 - t48 - - - - - - - - - - - - - - - - - -
cp49 a50 b51 c52 d53 - f54 - H55 i56 - - l57 - n58 - p59
P60
q r27
R27
s61 t62
T63
u64 v65 - x66 - Z67 - - - - - - - - - - - -
mv68 - b69 - - - f54 - - i56 - - - - n58 - - - - S70 t62
T63
u64 v65 - - - Z38 - - - - - - - - - - - -
mkdir71 - - - - - - - - - - - - m72 - - p73 - - - - - v65 - - - Z74 - - - - - - - - - - - -
rmdir75 - - - - - - - - - - - - - - - p73 - - - - - v65 - - - - - - - - - - - - - - - -
chown76 - - c77 - - f78 - h45
H79
- - - L80 - - - P81 - R27 - - - v65 - - - - - - - - - - - - - - - -
chmod82 - - c77 - - f78 - - - - - - - - - - - R27 - - - v65 - - - - - - - - - - - - - - - -
cat83 A84 b85 - - e86
E87
- - - - - - - - n88 - - - - s89 t90
T91
u92 v93 - - - - - - - - - - - - - - - -
head94 - - c95 - - - - - - - - - - n96 - - q97 - - - - v65 - - - - - - - - - - - - - - - -
tail98 - - c95 - - f99
F100
- - - - - - - n96 - - q97 - s101 - - v65 - - - - - - - - - - - - - - - -
wc102 - - c95 - - - - - - - - l103
L104
m105 - - - - - - - - - w106 - - - - - - - - - - - - - - -
sort107 - b108 c109
C110
d111 - f112 g113 h114 i115 - k116 - m117
M118
n119 o120 - - r121
R122
s123
S124
t125
T126
u127 V128 - - - z129 - - - - - - - - - - - -
uniq130 - - c131 d132
D133
- f134 - - i135 - - - - - - - - - s136 - u127 - w137 - - z129 - - - - - - - - - - - -
diff138 a139 b140
B141
c142
C142
d143
D144
e145
E146
F147 - - i135
I148
- - l149 - n150
N151
- p152 q153 r27 s154
S155
t156
T157
u158
U158
v159 w160
W35
x161
X162
y163 Z164 - - - - - - - - - - - -
grep165 a139
A166
b167
B168
c131
C142
d169
D170
e171
E172
f173
F174
G175 h176
H177
i135
I178
- - l179
L180
m181 n182 o183 P184 q97 r27
R185
s186 T157 u187
U188
v189
V159
w190 x191 - z192
Z193
- - - - - - - - - - - -
curl194 a195
A196
b197
B198
c199
C200
d201
D202
e203
E204
f205
F206
g207
G208
h209
H210
i211
I212
j213
J214
k215
K216
l217
L218
m219
M220
n221
N222
o120
O223
p224
P225
q226
Q227
r228
R229
s230
S231
t232
T233
u234
U235
v65
V159
w236 x237
X238
y239
Y240
z241 0242 1243 2244 3245 4246 - 6247 - - - #248 -
tar249 a250
A251
b252
B253
c254
C255
d256 - f173
F257
g258
G259
h260
H261
i262
I263
j264
J265
k266
K267
l268
L269
m270
M271
n272
N273
o274
O275
p276
P277
- r278
R279
s280
S281
t282
T283
u64
U284
v65
V285
w286
W287
x288
X162
- z289
Z290
- - - - - - - - - - - ?291
gzip292 - - c293 d294 - f54 - h209 - - - l295
L296
- n297
N298
- - q299 r27 S70 t300 - v65
V159
- - - - - 1301 - - - - - - - 9302 - -
kill303 a2 - - - - - - h209 - - - l295
L304
- - - p305 q306 - s307 - - V159 - - - - - - - - - - - - - - - -
df308 a2 B309 - - - - - h13
H310
i311 - k312 l313 - - - P314 - - - t315
T316
- v317 - x318 - - - - - - - - - - - - - -
free319 - b320 c131 - - - g321 h322 - - k323 l324 m325 - - - - - s326 t327 - V159 w328 - - - - - - - - - - - - - - -
vmstat329 a330 - - d331
D332
- f333 - h209 - - - - m334 n335 - p336 - - s337
S338
t339 - V159 w328 - - - - - - - - - - - - - - -
git clone340 - b341 c342 - - - - - - j343 - l313 - n344 o345 - q299 - s346 - u347 v65 - - - - - - - - 4246 - 6247 - - - - -
git init348 - - - - - - - - - - - - - - - - q299 - - - - - - - - - - - - - - - - - - - - -
git add349 A2 - - - e350 f54 - - i56 - - - - n351
N352
- p353 - - - - u64 v65 - - - - - - - - - - - - - - - -
git mv354 - - - - - f54 - - - - k355 - - n351 - - - - - - - v65 - - - - - - - - - - - - - - - -
git restore356 - - - - - - - - - - - - m117 - - p353 q299 - s357
S358
- - - W359 - - - - - 2360 3361 - - - - - - - -
git rm362 - - - - - f54 - - - - - - - n351 - - q299 r363 - - - - - - - - - - - - - - - - - - - -
git diff364 a139 b140
B365
C366 D367 - - G368 - - - - l369 M370 - O371 p353 - R372 s373
S374
- u375
U158
- w160
W376
X377 - z378 - - - - - - - - - - - -
git grep379 a139
A166
B168 c131
C142
- e380
E172
f381
F174
G175 h382
H383
i135
I384
- - l180
L180
- n182 o183
O385
p386
P184
q299 r27 - - - v189 w190
W376
- - z193 - - - - - - - - - - - -
git log387 - - - - - - - - - - - L388 - - - - q299 - - - - - - - - - - - - - - - - - - - - -
git show389 - - - - - - - - - - - L390 - - - - q299 - - - - - - - - - - - - - - - - - - - - -
git status391 - b341 - - - - - - - - - - M370 - - - - - s392 - u393 v65 - - - z193 - - - - - - - - - - - -
git branch394 a2 - c395C396 d397
D398
- f54 - - i135 - - l295 m399
M400
- - - q299 r401 - t402 u403 v65 - - - - - - - - - - - - - - - -
git commit404 a2 - c405
C406
- e350 F173 - - i211 - - - m407 n408 o409 p353 q299 - s410
S411
t412 u393 v65 - - - z193 - - - - - - - - - - - -
git merge413 - - - - e350 F173 - - - - - - m407 n414 - - q299 - s415
S411
- - v65 - X416 - - - - - - - - - - - - - -
git rebase417 - - C418 - - f419 - - i56 - k420 - m117 n421 - - q299 r422 s415
S411
- - v65 - x423
X416
- - - - - - - - - - - - - -
git reset424 - - - - - - - - - - - - - n352 - p353 q299 - - - - - - - - - - - - - - - - - - - - -
git switch425 - - c254
C426
d427 - f54 - - - - - - m117 - - - q299 - - t402 - - - - - - - - - - - - - - - - - -
git tag428 a429 - - d397 e350 f54
F173
- - i135 - - l295 m407 n430 - - - - s431 - u432 v433 - - - - - - - - - - - - - - - -
git fetch434 a195 - - - - f54 - - - j343 k435 - m436 n437 o438 p439
P440
q299 - - t441 u442 v65 - - - - - - - - 4246 - 6247 - - - - -
git pull443 a195 - - - - f54 - - - j343 k435 - - n444 - p439 q299 r445 s415
S411
t441 - v65 - X416 - - - - - - 4246 - 6247 - - - - -
git push446 - - - - d397 f54 - - - - - - - n351 o447 - q299 - - - u448 v65 - - - - - - - - 4246 - 6247 - - - - -
docker build449 - - c450 - - f173 - - - - - - m451 - - - q299 - - t452 - - - - - - - - - - - - - - - - - -
docker commit453 a454 - c455 - - - - - - - - - m407 - - p456 - - - - - - - - - - - - - - - - - - - - - -
docker cp457 a50 - - - - - - - - - - L458 - - - - - - - - - - - - - - - - - - - - - - - - - -
docker create459 a460 - c450 - e461 - - h462 i56 - - l463 m451 - - p464
P465
- - - t466 u234 v467 w468 - - - - - - - - - - - - - - -
docker events469 - - - - - f470 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
docker exec471 - - - d427 e461 - - - i56 - - - - - - - - - - t466 u234 - w468 - - - - - - - - - - - - - - -
docker export472 - - - - - - - - - - - - - - o120 - - - - - - - - - - - - - - - - - - - - - - -
docker history473 - - - - - - - h322 - - - - - - - - q299 - - - - - - - - - - - - - - - - - - - - -
docker images474 a2 - - - - f470 - - - - - - - - - - q299 - - - - - - - - - - - - - - - - - - - - -
docker import475 - - c455 - - - - - - - - - m407 - - - - - - - - - - - - - - - - - - - - - - - - -
docker info476 a2 - - - - f477 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
docker inspect478 - - - - - f477 - - - - - - - - - - - - s28 - - - - - - - - - - - - - - - - - - -
docker kill479 - - - - - - - - - - - - - - - - - - s307 - - - - - - - - - - - - - - - - - - -
docker load480 - - - - - - - - i481 - - - - - - - q299 - - - - - - - - - - - - - - - - - - - - -
docker login482 - - - - - - - - - - - - - - - p483 - - - - u234 - - - - - - - - - - - - - - - - -
docker logs484 - - - - - f99 - - - - - - - - - - - - - t485 - - - - - - - - - - - - - - - - - -
docker ps486 a2 - - - - f470 - - - - - l487 - n488 - - q299 - s28 - - - - - - - - - - - - - - - - - - -
docker pull489 a2 - - - - - - - - - - - - - - - q299 - - - - - - - - - - - - - - - - - - - - -
docker restart490 - - - - - f99 - - - - - - - - - - - - - t491 - - - - - - - - - - - - - - - - - -
docker rm492 - - - - - f54 - - - - - l57 - - - - - - - - - v493 - - - - - - - - - - - - - - - -
docker rmi494 - - - - - f54 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
docker run495 a460 - c450 d427 e461 - - h462 i56 - - l463 m451 - - p464
P465
- - - t466 u234 v467 w468 - - - - - - - - - - - - - - -
docker save496 - - - - - - - - - - - - - - o120 - - - - - - - - - - - - - - - - - - - - - - -
docker search497 - - - - - f470 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
docker start498 a460 - - - - - - - i56 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
docker stats499 a2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
docker stop500 - - - - - - - - - - - - - - - - - - - t491 - - - - - - - - - - - - - - - - - -
docker update501 - - c450 - - - - - - - - - m451 - - - - - - - - - - - - - - - - - - - - - - - - -
docker version502 - - - - - f477 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

青字: エイリアスオプションなし
赤字: エイリアスオプションがあるが、頭文字が異なる

感想

lstarcurl など、短縮表記を丸暗記しまっているものを、横並びに確認することで、理解が深まるかと思い作成した。(ただし、めちゃくちゃ時間がかかった。)
短縮表記は、よく使われるオプションでもあるので、コマンドの理解も少し深まった。
類似が多いわけではないので、あまり役に立たないかもしれないが、自分でオプション付きのコマンドを作るときは参考になるかもしれない。
ただし、自分でコマンドを作るとき、短縮表記は必要最低限から始めるのがいいだろう。

編集リクエストも歓迎しています。
※ ただし、注釈が多すぎるためか、投稿/更新に失敗する頻度がとても高いので注意

その他(編集用テキスト)

|command[^command]|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9|#|?|

  1. ls (GNU coreutils) 8.22 ls --help 参照 

  2. --all 

  3. --almost-all 

  4. --escape 

  5. --ignore-backups 

  6. with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first 

  7. list entries by columns 

  8. --directory 

  9. --dired 

  10. do not sort, enable -aU, disable -ls --color 

  11. --classify 

  12. --no-group 

  13. --human-readable 

  14. --dereference-command-line 

  15. --inode 

  16. --ignore 

  17. --kibibytes 

  18. 詳細リスト形式を表示する 

  19. --dereference 

  20. 要素のリストをカンマで区切り、一行に詰め込む 

  21. --numeric-uid-gid 

  22. --literal 

  23. -l と同様だがグループ情報を表示しない 

  24. --indicator-style 

  25. --hide-control-chars 

  26. --quote-name 

  27. --recursive 

  28. --size 

  29. sort by file size 

  30. ファイル更新時間で新しい順にソートする 

  31. --tabsize 

  32. with -lt: sort by, and show, access time; with -l: show access time and sort by name; otherwise: sort by access time 

  33. do not sort; list entries in directory order 

  34. natural sort of (version) numbers within text 

  35. --width 

  36. list entries by lines instead of by columns 

  37. sort alphabetically by entry extension 

  38. --context 

  39. list one file per line 

  40. touch (GNU coreutils) 8.22 touch --help 参照 

  41. アクセス日時のみ変更する 

  42. --no-create 

  43. --date 

  44. (無視される) 

  45. --no-dereference 

  46. 更新日時のみ変更する 

  47. --reference 

  48. use [[CC]YY]MMDDhhmm[.ss] instead of current time 

  49. cp (GNU coreutils) 8.22 cp --help 参照 

  50. --archive 

  51. --backup と同様だが引数を受け付けない 

  52. deprecated, same as --preserve=context 

  53. --no-dereference --preserve=links と同様 

  54. --force 

  55. follow command-line symbolic links in SOURCE 

  56. --interactive 

  57. --link 

  58. --no-clobber 

  59. --preserve=mode,ownership,timestamps と同様 

  60. --no-dereference 

  61. --symbolic-link 

  62. --target-directory 

  63. --no-target-directory 

  64. --update 

  65. --verbose 

  66. --one-file-system 

  67. set SELinux security context of destination file to default type 

  68. mv (GNU coreutils) 8.22 mv --help 参照 

  69. --backup と同様だが引数を受け付けない 

  70. --suffix 

  71. mkdir (GNU coreutils) 8.22 mkdir --help 参照 

  72. --mode 

  73. --parents 

  74. set SELinux security context of each created directory to the default type 

  75. rmdir (GNU coreutils) 8.22 rmdir --help 参照 

  76. chown (GNU coreutils) 8.22 chown --help 参照 

  77. --changes 

  78. --silent, --quiet 

  79. if a command line argument is a symbolic link to a directory, traverse it 

  80. traverse every symbolic link to a directory encountered 

  81. do not traverse any symbolic links (default) 

  82. chmod (GNU coreutils) 8.22 chmod --help 参照 

  83. cat (GNU coreutils) 8.22 cat --help 参照 

  84. --show-all 

  85. --number-nonblank 

  86. -vEと同じ 

  87. --show-ends 

  88. --number 

  89. --squeeze-blank 

  90. -vTと同じ 

  91. --show-tabs 

  92. (無視) 

  93. --show-nonprinting 

  94. head (GNU coreutils) 8.22 head --help 参照 

  95. --bytes 

  96. --lines 

  97. --quiet, --silent 

  98. tail (GNU coreutils) 8.22 tail --help 参照 

  99. --follow 

  100. same as --follow=name --retry 

  101. --sleep-interval 

  102. wc (GNU coreutils) 8.22 wc --help 参照 

  103. --lines 

  104. --max-line-length 

  105. --chars 

  106. --words 

  107. sort (GNU coreutils) 8.22 sort --help 参照 

  108. --ignore-leading-blanks 

  109. --check 

  110. -c と同様だが、正しくソートされていない最初の行を出力しない 

  111. --dictionary-order 

  112. --ignore-case 

  113. --general-numeric-sort 

  114. --human-numeric-sort 

  115. --ignore-nonprinting 

  116. --key 

  117. --merge 

  118. --month-sort 

  119. --numeric-sort 

  120. --output 

  121. --reverse 

  122. --random-sort 

  123. --stable 

  124. --buffer-size 

  125. --field-separator 

  126. --temporary-directory 

  127. --unique 

  128. --version-sort 

  129. --zero-terminated 

  130. uniq (GNU coreutils) 8.22 uniq --help 参照 

  131. --count 

  132. --repeated 

  133. --all-repeated 

  134. --skip-fields 

  135. --ignore-case 

  136. --skip-chars 

  137. --check-chars 

  138. diff (GNU diffutils) 3.3 diff --help 参照 

  139. --text 

  140. --ignore-space-change 

  141. --ignore-blank-lines 

  142. --context 

  143. --minimal 

  144. --ifdef 

  145. --ed 

  146. --ignore-tab-expansion 

  147. --show-function-line 

  148. --ignore-matching-lines 

  149. --paginate 

  150. --rcs 

  151. --new-file 

  152. --show-c-function 

  153. --brief 

  154. --report-identical-files 

  155. --starting-file 

  156. --expand-tabs 

  157. --initial-tab 

  158. --unified 

  159. --version 

  160. --ignore-all-space 

  161. --exclude 

  162. --exclude-from 

  163. --side-by-side 

  164. --ignore-trailing-space 

  165. grep (GNU grep) 2.20 grep --help 参照 

  166. --after-context 

  167. --byte-offset 

  168. --before-context 

  169. --directories 

  170. --devices 

  171. --regexp 

  172. --extended-regexp 

  173. --file 

  174. --fixed-strings 

  175. basic-regexp 

  176. --no-filename 

  177. --with-filename 

  178. equivalent to --binary-files=without-match 

  179. --files-with-matches 

  180. --files-without-match 

  181. --max-count 

  182. --line-number 

  183. --only-matching 

  184. --perl-regexp 

  185. --dereference-recursive 

  186. --no-messages 

  187. --unix-byte-offsets 

  188. --binary 

  189. --invert-match 

  190. --word-regexp 

  191. --line-regexp 

  192. --null-data 

  193. --null 

  194. curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.44 zlib/1.2.7 libidn/1.28 libssh2/1.8.0 curl --help 参照 

  195. --append 

  196. --user-agent 

  197. --cookie 

  198. --use-ascii 

  199. --cookie-jar 

  200. --continue-at 

  201. --data 

  202. --dump-header 

  203. --referer 

  204. --cert 

  205. --fail 

  206. --form 

  207. --globoff 

  208. --get 

  209. --help 

  210. --header 

  211. --include 

  212. --head 

  213. --junk-session-cookies 

  214. --remote-header-name 

  215. --insecure 

  216. --config 

  217. --list-only 

  218. --location 

  219. --max-time 

  220. --manual 

  221. --netrc 

  222. --no-buffer 

  223. --remote-name 

  224. --proxytunnel 

  225. --ftp-port 

  226. If used as the first parameter disables .curlrc 

  227. --quote 

  228. --range 

  229. --remote-time 

  230. --silent 

  231. --show-error 

  232. --telnet-option 

  233. --upload-file 

  234. --user 

  235. --proxy-user 

  236. --write-out 

  237. --proxy 

  238. --request 

  239. --speed-time 

  240. --speed-limit 

  241. --time-cond 

  242. --http1.0 

  243. --tlsv1 

  244. --sslv2 

  245. --sslv3 

  246. --ipv4 

  247. --ipv6 

  248. --progress-bar 

  249. tar (GNU tar) 1.26 tar --help 参照 

  250. --auto-compress 

  251. --catenate, --concatenate 

  252. --blocking-factor 

  253. --read-full-records 

  254. --create 

  255. --directory 

  256. --diff, --compare 

  257. --info-script 

  258. --listed-incremental 

  259. --incremental 

  260. --dereference 

  261. --format 

  262. --ignore-zeros 

  263. --use-compress-program 

  264. --bzip2 

  265. --xz 

  266. --keep-old-files 

  267. --starting-file 

  268. --check-links 

  269. --tape-length 

  270. --touch 

  271. --multi-volume 

  272. --seek 

  273. --newer 

  274. 作成時は --old-archive と同じ. 抽出時は--no-same-owner と同じ 

  275. --to-stdout 

  276. --preserve-permissions, --same-permissions 

  277. --absolute-names 

  278. --append 

  279. --block-number 

  280. --preserve-order, --same-order 

  281. --sparse 

  282. --list 

  283. --files-from 

  284. --unlink-first 

  285. --label 

  286. --interactive, --confirmation 

  287. --verify 

  288. --extract, --get 

  289. --gzip, --gunzip, --ungzip 

  290. --compress, --uncompress 

  291. --help 

  292. gzip 1.5 gzip --help 参照 

  293. --stdout 

  294. --decompress 

  295. --list 

  296. --license 

  297. --no-namet 

  298. --name 

  299. --quiet 

  300. --test 

  301. --fast 

  302. --best 

  303. kill from util-linux 2.23.2 /bin/kill --help 参照 

  304. --table 

  305. --pid 

  306. --queue 

  307. --signal 

  308. df (GNU coreutils) 8.22 df --help 参照 

  309. --block-size 

  310. --si 

  311. --inodes 

  312. --block-size=1K と同様 

  313. --local 

  314. --portability 

  315. --type 

  316. --print-type 

  317. (ignored) 

  318. --exclude-type 

  319. free from procps-ng 3.3.10 free --help 参照 

  320. --bytes 

  321. --giga 

  322. --human 

  323. --kilo 

  324. --lohi 

  325. --mega 

  326. --seconds 

  327. --total 

  328. --wide 

  329. vmstat from procps-ng 3.3.10 vmstat --help 参照 

  330. --active 

  331. --disk 

  332. --disk-sum 

  333. --forks 

  334. --slabs 

  335. --one-header 

  336. --partition 

  337. --stats 

  338. --unit 

  339. --timestamp 

  340. git version 2.25.1 git clone -h 参照 

  341. --branch 

  342. --config 

  343. --jobs 

  344. --no-checkout 

  345. --origin 

  346. --shared 

  347. --upload-pack 

  348. git version 2.25.1 git init -h 参照 

  349. git version 2.25.1 git add -h 参照 

  350. --edit 

  351. --dry-run 

  352. --intent-to-add 

  353. --patch 

  354. git version 2.25.1 git mv -h 参照 

  355. skip move/rename errors 

  356. git version 2.25.1 git restore -h 参照 

  357. --source 

  358. --staged 

  359. --worktree 

  360. --ours 

  361. --theirs 

  362. git version 2.25.1 git rm -h 参照 

  363. allow recursive removal 

  364. git version 2.25.1 git diff -h 参照 

  365. --break-rewrites 

  366. --find-copies 

  367. --irreversible-delete 

  368. look for differences that change the number of occurrences of the specified regex 

  369. prevent rename/copy detection if the number of rename/copy targets exceeds given limit 

  370. --find-renames 

  371. control the order in which files appear in the output 

  372. swap two inputs, reverse the diff 

  373. --no-patch 

  374. look for differences that change the number of occurrences of the specified string 

  375. generate patch 

  376. --function-context 

  377. --dirstat 

  378. do not munge pathnames and use NULs as output field terminators in --raw or --numstat 

  379. git version 2.25.1 git grep -h 参照 

  380. match <pattern> 

  381. read patterns from file 

  382. don't show filenames 

  383. show filenames 

  384. don't match patterns in binary files 

  385. --open-files-in-pager 

  386. --show-function 

  387. git version 2.25.1 git log -h 参照 

  388. Process line range n,m in file, counting from 1 

  389. git version 2.25.1 git show -h 参照 

  390. Process line range n,m in file, counting from 1 

  391. git version 2.25.1 git status -h 参照 

  392. --short 

  393. --untracked-files 

  394. git version 2.25.1 git branch -h 参照 

  395. --copy 

  396. copy a branch, even if target exists 

  397. --delete 

  398. delete branch (even if not merged) 

  399. --move 

  400. move/rename a branch, even if target exists 

  401. --remotes 

  402. --track 

  403. --set-upstream-to 

  404. git version 2.25.1 git commit -h 参照 

  405. --reedit-message 

  406. --reuse-message 

  407. --message 

  408. --no-verify 

  409. --only 

  410. --signoff 

  411. --gpg-sign 

  412. --template 

  413. git version 2.25.1 git merge -h 参照 

  414. do not show a diffstat at the end of the merge 

  415. --strategy 

  416. --strategy-option 

  417. git version 2.25.1 git rebase -h 参照 

  418. passed to 'git apply' 

  419. --force-rebase 

  420. --keep-empty 

  421. --no-stat 

  422. --rebase-merges 

  423. --exec 

  424. git version 2.25.1 git reset -h 参照 

  425. git version 2.25.1 git switch -h 参照 

  426. --force-create 

  427. --detach 

  428. git version 2.25.1 git tag -h 参照 

  429. --annotate 

  430. print <n> lines of each tag message 

  431. --sign 

  432. --local-user 

  433. --verify 

  434. git version 2.25.1 git fetch -h 参照 

  435. --keep 

  436. --multiple 

  437. do not fetch all tags (--no-tags) 

  438. --server-option 

  439. --prune 

  440. --prune-tags 

  441. --tags 

  442. --update-head-ok 

  443. git version 2.25.1 git pull -h 参照 

  444. do not show a diffstat at the end of the merge 

  445. --rebase 

  446. git version 2.25.1 git push -h 参照 

  447. --push-option 

  448. --set-upstream 

  449. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker build --help 参照 

  450. --cpu-shares 

  451. --memory 

  452. --tag 

  453. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker commit --help 参照 

  454. --author 

  455. --change 

  456. --pause 

  457. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker cp --help 参照 

  458. --follow-link 

  459. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker create --help 参照 

  460. --attach 

  461. --env 

  462. --hostname 

  463. --label 

  464. --publish 

  465. --publish-all 

  466. --tty 

  467. --volume 

  468. --workdir 

  469. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker events --help 参照 

  470. --filter 

  471. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker exec --help 参照 

  472. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker export --help 参照 

  473. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker history --help 参照 

  474. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker images --help 参照 

  475. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker import --help 参照 

  476. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker info --help 参照 

  477. --format 

  478. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker inspect --help 参照 

  479. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker kill --help 参照 

  480. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker load --help 参照 

  481. --input 

  482. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker login --help 参照 

  483. --password 

  484. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker logs --help 参照 

  485. --timestamps 

  486. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker ps --help 参照 

  487. --latest 

  488. --last 

  489. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker pull --help 参照 

  490. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker restart --help 参照 

  491. --time 

  492. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker rm --help 参照 

  493. --volumes 

  494. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker rmi --help 参照 

  495. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker run --help 参照 

  496. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker save --help 参照 

  497. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker search --help 参照 

  498. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker start --help 参照 

  499. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker stats --help 参照 

  500. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker stop --help 参照 

  501. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker update --help 参照 

  502. Client: Docker Engine - Community; Version: 19.03.8; API version: 1.40; docker version --help 参照 

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む