ブランチの名前を変更するには、-m オプションを使う。
oldbranchをnewbranchに変更する
$ git branch -m <oldbranch> <newbranch>
現在のブランチをnewbranchに変更する
$ git branch -m <newbranch>
newbranchがすでに存在している場合に上書きするには、-m の代わりに -M オプションを使う。
ブランチの名前を変更するには、-m オプションを使う。
oldbranchをnewbranchに変更する
$ git branch -m <oldbranch> <newbranch>
現在のブランチをnewbranchに変更する
$ git branch -m <newbranch>
newbranchがすでに存在している場合に上書きするには、-m の代わりに -M オプションを使う。
$ git diff --color | less -R
または、~/.giconfigに
[color] ui = auto [core] pager = LESS=-R less
git branch [branch] [remotename]/[branch]
git checkout -b [branch] [remotename]/[branch]
例:origin/serverfix を追跡するローカルブランチsfを作成してチェックアウト。
$ git checkout -b sf origin/serverfix
既に手元にあるローカルブランチを、リモートブランチの取り込み先に設定したい場合や、追跡する上流のブランチを変更したい場合。
git branch -u [remotename]/[branch]
git branch -u [remotename]/[branch] [branch]
例:現在のローカルブランチにorigin/masterを追跡させる。
$ git branch -u origin/master
例:ローカルブランチsfにorigin/serverfixを追跡させる。
$ git branch -u origin/serverfix sf
gitosisを使っていたが、gitosisではブランチごとにパーミッションを設定できない。
gitoliteではブランチごとにパーミッションを設定できるらしいので、インストール、設定してみた。
sitaramc/gitolite - GitHub
http://sitaramc.github.com/gitolite/install.html の、root methodで行った。
http://sitaramc.github.com/gitolite/admin.html
ユーザ、レポジトリの追加方法、パーミッションの設定など。
gitoliteはよい!
gitosisではできないブランチごとのパーミッション設定が可能だし、設定ファイルもgitosisよりきれいで分かりやすい。(特にレポジトリが多くなった場合。)
また、ドキュメントも充実していて分かりやすいので、インストールや設定が楽だった。
redmine fatal: Failed to resolve HEAD as a valid ref.
というエラーになる。
push時に作成されるファイルのパーミッションを変更するには、 gitoliteユーザの.gitolite.rcを以下のように編集する。
#$REPO_UMASK = 0077; # gets you 'rwx------' #$REPO_UMASK = 0027; # gets you 'rwxr-x---' $REPO_UMASK = 0022; # gets you 'rwxr-xr-x'
Redmine - redmine read git repo without having to reset - Redmine
CentOSのyumにはbash-completionがないので、ソースからインストールした。
Bash-Completion
から、最新のソースをダウンロードしてインストール。
$ tar xjvf bash-completion-2.0.tar.bz2 $ cd bash-completion-2.0 $ ./configure $ make $ sudo make install
~/.bashrc
# Use bash-completion, if available [[ $PS1 && -f /usr/local/share/bash-completion/bash_completion ]] && \ . /usr/local/share/bash-completion/bash_completion
Gitのbash_completionは、Gitのソースの/contrib/completion/git-completion.bash、
Subversionのbash_completionは、Subversionのソースの/tools/client-side/bash_completion
にあるので、/usr/local/share/bash-completion/completions/ にそれぞれgit、svnという名前で保存すればよい。
git+sshでデフォルト(id_rsa)以外のキーファイルを指定したい場合 - yukke.org Diary
~/.ssh/configでgitで使用するHOSTを登録してIdentityFileを指定すればよい。
例
~/.ssh/config
Host Foo HostName example.com User foo IdentityFile ~/.ssh/id_other
$ git remote add origin user@Foo:/your/repository.git
Git Book - Rebasing
git rebase は上記ページの説明が分かりやすかったです。