- 投稿日:2019-07-09T22:50:35+09:00
(追記有)gitコマンドを拡張して複数のアカウント管理を楽にしたかった
追記
同僚からこんなものを教えていただいたので、今度からはこれでもいけそう。
https://github.com/github/hub
https://hub.github.com/hub-init.1.html追記おわり。
めちゃしょぼいけど今まで知らなかった事なので備忘がてら。
出典
gitコマンドの拡張 | hokaccha memo
Extend Git with Custom Commandsやりたかったこと
端的に言えば、プライベートで利用しているGithubに公開する為のリポジトリを作成する際、必要な設定をコマンド一発でできるようにしたかったのです。
私は現在勤めている職場で利用しているBitbucketのアカウントと、
プライベートで利用しているGithubのアカウントを、業務用に貸与されたPCで併用しています。この時問題になるのが、新しいリポジトリを作成した場合にユーザー名、メールアドレスの設定がそれぞれで異なり、リポジトリを作成するたびに以下のようにちょこちょこと設定をしていかなければいけませんでした。(と思っていました)
hoge$ git init Initialized empty Git repository in .../hoge/.git/ hoge$ git config --local user.name i-whammy hoge$ git config --local user.email example@example.com hoge$ git config --list ... user.name=i-whammy user.email=example@example.comまあめんどくさいし、たまに忘れてGithub上に自分の仕事用のアドレスやら名前やらが公開されてしまって慌ててリポジトリを消して、などしたりしておりました。
やったこと
- pathの通ってる場所(
/usr/local/bin等)に以下のようなファイルを作成
git-whammy#/bin/sh git init git config --local user.name i-whammy git config --local user.email example@example.com
chmod +x git-whammyで実行権限付与上記の手順で、自分のマシンで
git whammyコマンドを叩くだけで、
プライベート用のGithubアカウントの設定がされた新しいリポジトリを作ることができるようになりました。
git-XXXという名称の実行可能なファイルをパスが通ったディレクトリに配置しておくことで、
git XXXというサブコマンドとして実行することができるようになるよ、というお話でした。めでたしめでたし。
- 投稿日:2019-07-09T22:50:35+09:00
gitコマンドを拡張して複数のアカウント管理を楽にしたかった
めちゃしょぼいけど今まで知らなかった事なので備忘がてら。
出典
gitコマンドの拡張 | hokaccha memo
Extend Git with Custom Commandsやりたかったこと
端的に言えば、プライベートで利用しているGithubに公開する為のリポジトリを作成する際、必要な設定をコマンド一発でできるようにしたかったのです。
私は現在勤めている職場で利用しているBitbucketのアカウントと、
プライベートで利用しているGithubのアカウントを、業務用に貸与されたPCで併用しています。この時問題になるのが、新しいリポジトリを作成した場合にユーザー名、メールアドレスの設定がそれぞれで異なり、リポジトリを作成するたびに以下のようにちょこちょこと設定をしていかなければいけませんでした。(と思っていました)
hoge$ git init Initialized empty Git repository in .../hoge/.git/ hoge$ git config --local user.name i-whammy hoge$ git config --local user.email example@example.com hoge$ git config --list ... user.name=i-whammy user.email=example@example.comまあめんどくさいし、たまに忘れてGithub上に自分の仕事用のアドレスやら名前やらが公開されてしまって慌ててリポジトリを消して、などしたりしておりました。
やったこと
- pathの通ってる場所(
/usr/local/bin等)に以下のようなファイルを作成
git-whammy#/bin/sh git init git config --local user.name i-whammy git config --local user.email example@example.com
chmod +x git-whammyで実行権限付与上記の手順で、自分のマシンで
git whammyコマンドを叩くだけで、
プライベート用のGithubアカウントの設定がされた新しいリポジトリを作ることができるようになりました。
git-XXXという名称の実行可能なファイルをパスが通ったディレクトリに配置しておくことで、
git XXXというサブコマンドとして実行することができるようになるよ、というお話でした。めでたしめでたし。
- 投稿日:2019-07-09T21:47:47+09:00
デプロイ後、差分をアップデートする方法
- 投稿日:2019-07-09T15:51:47+09:00
Gitコミットメッセージ変更
- 投稿日:2019-07-09T14:32:04+09:00
リモートリポジトリのブランチとローカルのブランチの状態を強制的に一致させる方法
コードレビューのときにfeatureブランチをローカルに落としたいときや、ローカルでブランチのマージ作業をしたいときなど、リモートリポジトリとローカルのブランチの状態を強制的に一致させたいときがあります。
そのようなときに行う手順をまとめました。
手順
### リモートリポジトリの最新情報を取得 $ git fetch ### 対象ブランチにチェックアウト $ git checkout {ブランチ名} ### 強制的に最新のコミットの状態にする $ git reset --hard origin/{ブランチ名}補足: 対象ブランチにチェックアウトする方法について
リモートリポジトリのブランチにローカルでチェックアウトする方法でよく紹介されている方法は以下です。
$ git checkout -b {ブランチ名} origin/{ブランチ名}しかし、以下の方法でもチェックアウト可能です。1
$ git checkout {ブランチ名}もし、ローカルにチェックアウトする対象のブランチと同じブランチ名がある場合、
git checkout -bではエラーになってしまいます。
例えば、masterというブランチ名がローカルにすでにある場合、git checkout -b master origin/masterとするとエラーになります。
git checkoutの方法ですと、すでに同じ名前のブランチ名がある場合は単純にチェックアウトするだけになりますし、同じ名前のブランチ名がなければリモートリポジトリのブランチをチェックアウトしてくることが可能になります。ですので、
git checkoutの方法を利用するほうがオススメです。
- 投稿日:2019-07-09T13:53:21+09:00
ssh接続でgit cloneするとエラー
問題:ssh接続でgit cloneするとエラー
git clone git@github.com:meetscom-inc/koetomo-config.git Cloning into 'koetomo-config'... ERROR: Repository not found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.解決
.ssh/configでホスト名を設定した場合 git cloneする時は
git@(ここを設定したHost名に変える):meetscom-inc/koetomo-config.gitこうすればできる!
臨時対応
sshでクローンできなかった時は臨時的にこれでクローンした
git clone https://github.com/meetscom-inc/koetomo-config Cloning into 'koetomo-config'... Username for 'https://github.com': satou-yuuki-meetscom Password for 'https://satou-yuuki-meetscom@github.com': remote: Enumerating objects: 9, done. remote: Total 9 (delta 0), reused 0 (delta 0), pack-reused 9 Unpacking objects: 100% (9/9), done.git clone する時に ユーザ名とパスワードを要求された(1回目のみ?)
- 投稿日:2019-07-09T13:53:21+09:00
ssh接続でgit cloneするとエラー。githubアカウント2つ作ったら気をつけよう。
問題:ssh接続でgit cloneするとエラー
git clone git@github.com:meetscom-inc/koetomo-config.git Cloning into 'koetomo-config'... ERROR: Repository not found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.解決
.ssh/configでホスト名を設定した場合 git cloneする時は
git@(ここを設定したHost名に変える):meetscom-inc/koetomo-config.gitこうすればできる!
臨時対応
sshでクローンできなかった時は臨時的にこれでクローンした
git clone https://github.com/meetscom-inc/koetomo-config Cloning into 'koetomo-config'... Username for 'https://github.com': satou-yuuki-meetscom Password for 'https://satou-yuuki-meetscom@github.com': remote: Enumerating objects: 9, done. remote: Total 9 (delta 0), reused 0 (delta 0), pack-reused 9 Unpacking objects: 100% (9/9), done.git clone する時に ユーザ名とパスワードを要求された(1回目のみ?)
- 投稿日:2019-07-09T12:18:10+09:00
【Git】指定したリモートブランチ(remote branch)でrebaseする方法
例えばoriginの
developブランチでrebaseしたい場合は
git pull --rebase origin developコンフリクトした場合はコンフリクトを解消してから
git addで修正ファイルをステージングして
git rebase -continueでrebaseを続行する