zip -r app.zip app -x *.git* *node_modules*
2018年05月07日
プロジェクトディレクトリから.gitやnode_modulesを除いたものをzipに変換する
以下のコマンドでzipを作成可能
2017年12月25日
マージ済みのローカルブランチの一括削除
git checkout master
git branch --merged master
とするとマージ済みのブランチの一覧が表示されるので
git branch --merged | egrep -v '\*|develop|master' | xargs git branch -d
でマージ済みのブランチの一括削除ができる
以下のように.gitconfigでエイリアスを貼っておくと
[alias]
de = "!f () { git checkout $1; git branch --merged | egrep -v '\\*|develop|master' | xargs git branch -d; };f"
以下で一括削除ができるようになる
git de master
Gitでマージ済みブランチを一括削除する方法 - Change the World!
gitconfig の基本を理解する - Qiita
2017年10月09日
「error: Sparse checkout leaves no entry on working directory」と出てgit pullができなくなった
以下のようなエラーがでてGit pullができなくなった。
「error: Sparse checkout leaves no entry on working directory」
sparse-checkoutの指定の方法が何処かのバージョンで変わったらしい。
ディレクトリの末尾に/が必要になったようなので修正。
「error: Sparse checkout leaves no entry on working directory」
sparse-checkoutの指定の方法が何処かのバージョンで変わったらしい。
ディレクトリの末尾に/が必要になったようなので修正。
vi .git/info/sparse-checkout
html
↓
html/
2017年01月05日
GitHubの複数アカウントを切り替える
GitHubの複数アカウントを切り替える方法
まず、サブアカウント用の公開鍵を作成 fオプションで名前(サンプルではabd)をつけます。
lsコマンドで秘密鍵「abc」と公開鍵「abc.com」が作成されているのを確認
cat abc.pubなんかでabc.pubの内容をコピーしてgithubに登録しておく
vi ~/.ssh/configなんかでabc用の設定を追加しておく
これで設定はok
通常は以下のコマンドでcloneするところを
git clone git@github.com:account/sample.git
以下のコマンドに変更すれば、新たに作成した秘密鍵で認証を行うようになります
git clone git@github-abc:account/sample.git
まず、サブアカウント用の公開鍵を作成 fオプションで名前(サンプルではabd)をつけます。
cd ~/.ssh/
ssh-keygen -t rsa -f abc
lsコマンドで秘密鍵「abc」と公開鍵「abc.com」が作成されているのを確認
ls
id_rsa.pub id_rsa abc.pub abc
cat abc.pubなんかでabc.pubの内容をコピーしてgithubに登録しておく
cat abc.pub
vi ~/.ssh/configなんかでabc用の設定を追加しておく
Host github-abc
User git
Port 22
HostName github.com
IdentityFile ~/.ssh/abc
TCPKeepAlive yes
IdentitiesOnly yes
これで設定はok
通常は以下のコマンドでcloneするところを
git clone git@github.com:account/sample.git
以下のコマンドに変更すれば、新たに作成した秘密鍵で認証を行うようになります
git clone git@github-abc:account/sample.git
2016年10月24日
Gitで認証鍵を使う
認証鍵が送られてきたのでそれでGitに接続するまでの試行錯誤。
まず、送られてきたのが
xxxxxxxxx.key
xxxxxxxxx.ppk
id_rsaとかid_rsa.pubじゃないんだね。
これはPutty形式と呼ばれるものでOpenSSH形式に変換しなくてはいけない。
参考:Putty形式をOpenSSH形式に変換 | tkd55 blog
まず.sshに移動してディレクトリを開く
開いたディレクトリにxxxxxxxxx.ppkを放り込んで以下のコマンドでOpenSSH形式の秘密鍵xxxxxxxxxを作成
GitHubで複数アカウントを切り替える: Web制作メモを参考に特定のホストの場合のみ上記の秘密鍵を利用するように変更。
これでアクセスできる
まず、送られてきたのが
xxxxxxxxx.key
xxxxxxxxx.ppk
id_rsaとかid_rsa.pubじゃないんだね。
これはPutty形式と呼ばれるものでOpenSSH形式に変換しなくてはいけない。
参考:Putty形式をOpenSSH形式に変換 | tkd55 blog
まず.sshに移動してディレクトリを開く
cd ~/.ssh
open ./
開いたディレクトリにxxxxxxxxx.ppkを放り込んで以下のコマンドでOpenSSH形式の秘密鍵xxxxxxxxxを作成
puttygen xxxxxxxxx.ppk -O private-openssh -o xxxxxxxxx
GitHubで複数アカウントを切り替える: Web制作メモを参考に特定のホストの場合のみ上記の秘密鍵を利用するように変更。
Host ホスト名
User git
Port 22
Hostname ホスト名
IdentityFile ~/.ssh/xxxxxxxxx
TCPKeepAlive yes
IdentitiesOnly yes
これでアクセスできる
2016年09月06日
BacklogのGitにpushしたアイテムをheteml上のサーバーにデプロイする
BacklogのGitにpushしたアイテムをheteml上のサーバーにデプロイする方法
まずは、以下を参考にSSHでhetemlサーバーに入ります。
SSH のご利用方法 - レンタルサーバー「heteml(ヘテムル)」
つぎにSSH公開鍵を作成。途中鍵名でをきかれるのでid_rsaなどでパスレーズは空で大丈夫。
表示された公開鍵をBacklogの個人設定の公開鍵に登録しましょう。
次にリポジトリ用のディレクトリを作成してclone
次に公開サイトにアクセスするとリポジトリの内容を表示するようにシンボリックリンクをはります。
最後にwebhook用のファイルを作成し
hook/pull.phpをwebhookに登録すればpush時に公開サーバーに反映されるようになります。
まずは、以下を参考にSSHでhetemlサーバーに入ります。
SSH のご利用方法 - レンタルサーバー「heteml(ヘテムル)」
つぎにSSH公開鍵を作成。途中鍵名でをきかれるのでid_rsaなどでパスレーズは空で大丈夫。
cd ~/.ssh
ssh-keygen
cat id_rsa.pub
表示された公開鍵をBacklogの個人設定の公開鍵に登録しましょう。
次にリポジトリ用のディレクトリを作成してclone
cd -- #直前のディレクトリに戻る
mkdir repo
cd repo
git clone xxx@xxx.backlog.jp:/XXX/xxx.git
次に公開サイトにアクセスするとリポジトリの内容を表示するようにシンボリックリンクをはります。
cd /home/sites/heteml/users/b/a/c/aaa/web/htdocs
ln -s /home/sites/heteml/users/b/a/c/aaa/repo/xxx/htdocs/assets assets
最後にwebhook用のファイルを作成し
sudo vi hook/pull.php
<?php
exec("cd /home/sites/heteml/users/b/a/c/aaa/repo/xxx && git pull");
hook/pull.phpをwebhookに登録すればpush時に公開サーバーに反映されるようになります。
2014年03月28日
Gitで削除されたリポジトリを非表示にする
複数人でGitを管理していると他の人が作成して削除したリポジトリが「git branch -a」などでずっと表示され続けます。
そういった場合は以下のコマンドで削除されたリポジトリを自分の環境でも削除することができます。
そういった場合は以下のコマンドで削除されたリポジトリを自分の環境でも削除することができます。
git fetch -p
2013年10月18日
GitHubページを作成
リポジトリにたいしてgh-pagesというブランチを作成してHTMLをアップするとプロジェクトページが作成できる。
http://ユーザー名.github.io/リポジトリ名/
http://ユーザー名.github.io/リポジトリ名/
2013年07月17日
Gitコマンド一覧
■ブランチ一覧表示
git branch
■リモートブランチの確認
git branch -r
■ブランチ作成
git branch
■ブランチ削除
git branch -d
■ブランチ削除(強制)
git branch -D
■リモートブランチの削除
git push origin :
■git add の取り消し
git reset HEAD
■特定ディレクトリ(xxx)の内容をadd
git add xxx/*
■新しいブランチを作成してcheckout
git checkout -b
■コミットの取り消し
git revert
■直前のコミットの取り消し
git reset --soft HEAD^
■直前のコミットの取り消し(作業ツリーにも反映)
git reset --hard HEAD^
■リポジトリを指定してpush
git push origin
■リポジトリの差分を反映
git pull
git branch
■リモートブランチの確認
git branch -r
■ブランチ作成
git branch
■ブランチ削除
git branch -d
■ブランチ削除(強制)
git branch -D
■リモートブランチの削除
git push origin :
■git add の取り消し
git reset HEAD
■特定ディレクトリ(xxx)の内容をadd
git add xxx/*
■新しいブランチを作成してcheckout
git checkout -b
■コミットの取り消し
git revert
■直前のコミットの取り消し
git reset --soft HEAD^
■直前のコミットの取り消し(作業ツリーにも反映)
git reset --hard HEAD^
■リポジトリを指定してpush
git push origin
■リポジトリの差分を反映
git pull
2013年06月04日
gitで削除したファイルを監視から外す
ディレクトリ構成をごそっと変えたのでインデックスを更新したいが、ちまちまとaddしていくのは面倒なときは
で、新規追加ファイルをごそっと登録して
で、不要になったファイルのウォッチを削除できる。
git add .
で、新規追加ファイルをごそっと登録して
git add -u
で、不要になったファイルのウォッチを削除できる。
2013年05月27日
GitHubでフォークしたプロジェクトを管理する
GitHubではプロジェクトページの右にあるforkボタンからプロジェクトのリモートリポジトリを複製することができます。複製すれば自分専用のリモートリポジトリーが作成されますので、以下のコマンドでローカルリポジトリと作業コピーをローカルに生成できます。
では、フォークしたプロジェクトにファイルを追加してそれをフォーク元に反映させてみましょう。
これで、フォークしたリポジトリへの反映は完了しましたGitHubよりフォーク元にPull Requestを送り、フォーク元の管理人が承認すれば追加した内容が反映されます。
フォーク元のプロジェクトの内容を取り込むには、まずフォーク元リポジトリをremoteに追加します。
これで remoteでフォーク元リポジトリが使えますので取り込みマージできます。
git clone git://github.com/xxx/test.git
では、フォークしたプロジェクトにファイルを追加してそれをフォーク元に反映させてみましょう。
echo hoge>hoge2.txt
git add hoge2.txt
git commit -m "add hoge2"
git push -u fork master
これで、フォークしたリポジトリへの反映は完了しましたGitHubよりフォーク元にPull Requestを送り、フォーク元の管理人が承認すれば追加した内容が反映されます。
フォーク元のプロジェクトの内容を取り込むには、まずフォーク元リポジトリをremoteに追加します。
git remote add upstream git://github.com/xxx/xxx.git
これで remoteでフォーク元リポジトリが使えますので取り込みマージできます。
git fetch upstream
git merge upstream/master
GitHubで複数アカウントを切り替える
GitHubで複数アカウントを切り替得ようとするときのメモ
まず、メインアカウントと同じ公開キーではGitHubには登録できないので別の公開鍵を作成する
ただ、このままではpush時などにメインの公開鍵が利用され権限エラーが発生する。
これはsshの設定で変更しなくてはいない。
~/.ssh/configに以下の内容を反映。サブアカウントはaaa.github.comにして、IdentityFileに先ほど作成した公開鍵を指定します。
あとはgit remote addでリモートリポジトリを追加する際にaaa.github.comを指定します。
参考:github でサブアカウント、ユーザー切り替え - くろまほうさいきょうでんせつ
まず、メインアカウントと同じ公開キーではGitHubには登録できないので別の公開鍵を作成する
cd ~/.ssh
ssh-keygen -t rsa2 -C "xxx@example.com"
ただ、このままではpush時などにメインの公開鍵が利用され権限エラーが発生する。
git push fork master
ERROR: Permission to xxx/test.git denied to yyy.
fatal: The remote end hung up unexpectedly
これはsshの設定で変更しなくてはいない。
~/.ssh/configに以下の内容を反映。サブアカウントはaaa.github.comにして、IdentityFileに先ほど作成した公開鍵を指定します。
Host aaa.github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/id_rsa2
TCPKeepAlive yes
IdentitiesOnly yes
あとはgit remote addでリモートリポジトリを追加する際にaaa.github.comを指定します。
git remote add fork git@aaa.github.com:xxx/test.git
参考:github でサブアカウント、ユーザー切り替え - くろまほうさいきょうでんせつ
gitの設定を確認
以下のコマンドでGitの設定が確認できる
git config --global --list
2013年05月26日
GitHubでリポジトリを作ってからコミットするまでのメモ
■まずは SSH キーの作成
.sshディレクトリに移動
エンターを押すとSSHキーが作成される
で作成したssh公開鍵が表示されます。それをGit Hubのアカウントセッティングから登録すればOK
■初期設定
ユーザ名とメールアドレスを登録しておきます
git config --global user.name hoge
git config --global user.email fuga@example.com
■最初のコミット
touchコマンドは指定されたファイルについて、アクセス時刻と更新時刻を現在の時刻に変更します。任意の時間に変更することもできます。指定したファイルが存在しない場合は空のファイルを新規に作成します。
ローカルリポジトリを作成
先ほど作成したREADME.mdを監視ファイルに追加します。
ローカルリポジトリにコミットします。
作成したGitHubのリモートリポジトリをoriginという名前で追加します。ちなみにgit remoteで現在登録されているリモートリポジトリの一覧が確認できます。git remote rm originで削除できます。
先ほど登録したorigin という名前のリモートリポジトリにmasterブランチの内容を反映させます。
これでGitHubにプロジェクトのアップが完了です。コミットしたREADME.mdはプロジェクトページのトップに反映されるのでマークダウンを利用してプロジェクトの概要を記述しましょう。
cd ~/.ssh
.sshディレクトリに移動
ssh-keygen -t rsa -C "xxx@example.com"
エンターを押すとSSHキーが作成される
cat id_rsa.pub
で作成したssh公開鍵が表示されます。それをGit Hubのアカウントセッティングから登録すればOK
■初期設定
ユーザ名とメールアドレスを登録しておきます
git config --global user.name hoge
git config --global user.email fuga@example.com
■最初のコミット
touch README.md
touchコマンドは指定されたファイルについて、アクセス時刻と更新時刻を現在の時刻に変更します。任意の時間に変更することもできます。指定したファイルが存在しない場合は空のファイルを新規に作成します。
git init
ローカルリポジトリを作成
git add README.md
先ほど作成したREADME.mdを監視ファイルに追加します。
git commit -m "first commit"
ローカルリポジトリにコミットします。
git remote add origin git@github.com:xxx/test.git
作成したGitHubのリモートリポジトリをoriginという名前で追加します。ちなみにgit remoteで現在登録されているリモートリポジトリの一覧が確認できます。git remote rm originで削除できます。
git push -u origin master
先ほど登録したorigin という名前のリモートリポジトリにmasterブランチの内容を反映させます。
これでGitHubにプロジェクトのアップが完了です。コミットしたREADME.mdはプロジェクトページのトップに反映されるのでマークダウンを利用してプロジェクトの概要を記述しましょう。