20190709のGitに関する記事は10件です。

(追記有)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というサブコマンドとして実行することができるようになるよ、というお話でした。

めでたしめでたし。

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

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というサブコマンドとして実行することができるようになるよ、というお話でした。

めでたしめでたし。

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

デプロイ後、差分をアップデートする方法

差分を追加するよ!

$ git add -A

どんなアップデートするか明示

$ git commit -m "[コメントここは自分が分かるように記述!]"

Herokuに繋げる!

$ git push heroku master

完了

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

Gitコミットメッセージ変更

コミット後にメッセージを修正したい時のコマンド

$ git commit -m '編集画面を修正'

このメッセージを新規作成画面を修正にしたいときは

$ git commmit --amend -m '新規作成画面を修正'

とすれば直前のコミットのメッセージを変更できる

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

リモートリポジトリのブランチとローカルのブランチの状態を強制的に一致させる方法

コードレビューのときに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の方法を利用するほうがオススメです。

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

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回目のみ?)

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

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回目のみ?)

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

【Git】指定したリモートブランチ(remote branch)でrebaseする方法

例えばoriginの develop ブランチでrebaseしたい場合は

git pull --rebase origin develop

コンフリクトした場合はコンフリクトを解消してから

git add で修正ファイルをステージングして
git rebase -continue でrebaseを続行する

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

【Git】.gitignoreを反映させるために管理対象ファイルのキャッシュを消すスクリプト

概要

.gitignoreに追加したけど、反映されないときに行うコマンドをまとめた

これで1発

スクリプト

clearCache.sh
git rm -r --cached .
git add .
git commit -m 'cache clear'

Happy Hacking :sunglasses: !

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

GitTips

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