ラベル git の投稿を表示しています。 すべての投稿を表示
ラベル git の投稿を表示しています。 すべての投稿を表示

2015年3月11日水曜日

複数Bitbucketアカウントをsshで接続する方法

会社とプライベートで別々の複数のBitbucketアカウントを持っている時に、
同一端末から、sshでアクセスする方法です。

今回は仮に、bitbucket1とbitbucket2の2個を使用する事を想定しています。

SSHキーの作成

まず、SSHキーを作成します。
もし、既に自前のSSHがあるようであれば、自前の物を使ってください。

cd ~/.ssh

mkdir bitbucket1
ssh-keygen -t rsa -C ore-tec@example.com -f bitbucket1/id_rsa

mkdir bitbucket2
ssh-keygen -t rsa -C ore-tec@example.com -f bitbucket2/id_rsa

SSHキーの権限変更

sshきーの権限を変更します。

chmod 600 bitbucket1/id_rsa
chmod 600 bitbucket2/id_rsa

.ssh/configの設定

Host bitbucket.org1
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket1/id_rsa
  User bitbucket1
Host bitbucket.org2
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket2/id_rsa
  User bitbucket2

Bitbucketへのキーの追加

[アカウントの管理]画面 > SECURITY [SSH キー] をクリック
[鍵を追加]ボタンをクリック

bitbucket add ssh

上記のkeyの部分に以下でコピーしたモノをペーストします。

cat ~/.ssh/bitbucket1/id_rsa.pub | pbcopy

Labelも自分で認識しやすいモノを設定する。

同様にbitbucket2も別bitbuckeアカウントに鍵を追加します。

.git/configの設定

プロジェクトのルートに移動して.git/configを下記のように設定します。

my_project1の場合

[remote "origin"]
         url = ssh://git@bitbucket.org1/bitbucket1/my_project1.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

my_project2の場合

[remote "origin"]
         url = ssh://git@bitbucket.org2/bitbucket2/my_project2.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

重要なところは url = の部分で以下のように指定します。

ssh://git@[ssh/config のHOSTで設定したラベル]/[Bitbucketのユーザー名]/[リポジトリ名].git

2014年10月29日水曜日

Gitでブランチ名をリネームする方法

ローカルリポジトリ

git branch -m [old-branchname] [new-branchname]
例えば、masterをmaster-orgに変更する場合
git branch -m master master-org

リモートリポジトリ

これが本当によい方法かわかりませんが、以下のように対応しました。
  1. localでリネーム
  2. リネームしたブランチをリモートにpush
  3. リモートから元の名前のブランチを削除
例えば、masterをmaster-orgに変更する場合
git branch -m master master-org
git checkout master-org
git push origin/master-org 
git push origin :master

2014年10月28日火曜日

Gitでブランチを削除する方法

gitでhogeブランチを削除する方法。

ローカルブランチ

HEAD にマージされていないコミットがない場合

git branch -d hobe

HEAD にマージされていないコミットがある場合

強制的にブランチを削除します。

git branch -D hobe

リモートブランチ

git push origin :hoge

2014年10月16日木曜日

git の変更を一時的に退避させる方法

退避

退避させるには
git stash [save]
save はあってもなくてもOK

退避の一覧確認

退避させた一覧を確認する場合
git stash list

退避させたものを元に戻す

退避させたものを元に戻す場合
git stash pop

2014年9月26日金曜日

gitで差分を表示する方法

ワークツリーとインデックスの比較

git diff

ファイル名のみ表示する

上記のコマンドに、–name-only optionを付けて実行
結果は、ファイルパスの一覧が帰ってきます。
git diff --name-only

作業ブランチと他のブランチの比較

現在のワークツリーと比較ブランチに指定したブランチをdiff します。
git diff  [比較ブランチ] 

ファイル名のみ表示する

git diff  [比較ブランチ] --name-only

2014年9月25日木曜日

git ですでに管理済みのファイルの変更を無視する方法

共同作業をしている場合などに、必要なファイルだけど、
各々設定がことなるファイルとか存在しますよね。
そんな、git ですでに管理済みのファイルの変更を無視したい場合。
git update-index --assume-unchanged [ファイル]
変更が入っていても、変更がなかったこととして扱われます。
変更の無視を解除したい場合は、
git update-index --no-assume-unchanged [ファイル]
no-がつきます。

statistics