アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

[Git]自分が使うGit関連コマンドまとめ

改行

改行コードをLFに強制して修正する。
.gitattributes に以下を設定

*.kt text eol=lf
*.java text eol=lf

以下で修正する。

git add --renormalize .

その他

権限

実行権限を付与する

git update-index --chmod=+x path/to/file

ファイル差分

ファイルパーミッションの変更を差分に含めない。

git config core.filemode false

ファイルシステムのキャッシュを使用しない

git diffFunction not implemented が出てきた場合に有効。
WSLのネットワーク越しのせいかもしれない。

git config --global core.fscache false

リモート

リモートを追加

git remote add <name> <url>

リモートを変更

git remote set-url origin

リモートブランチ削除

git push origin :branch_name

モジュール

追加

git submodule add git@github.com:qmk/hoge.git directory

submoduleを再帰的に更新  

git submodule update --init --recursive

モジュールは別のkeyでcloneする。

GIT_SSH_COMMAND="ssh -i /tmp/ssh_key" git submodule update --init --recursive

gitignore

gitignoreを追加した後

git rm --cached filename

変更

退避

git stash save

確認

git stash list


# 変更内容付き
git stash list -p

復活

# 削除して復活
git stash pop stash@{0}

# 復活
git stash apply stash@{0}

# 削除
git stash drop stash@{0}

add

addを取り消す  

git reset HEAD .

commit

前回のcommitに上書き  

git commit --amend

前のcommitに含める

git commit --amend --no-edit

commitの取り消し  

git reset --soft HEAD^

空のブランチの作成

git checkout --orphan 

署名

sshで署名する

git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_rsa.pub
git config --global commit.gpgsign true

GPG

agentの起動

gpg-connect-agent /bye