【Git】cherry pick を理解する。そして各コミットを別々のブランチに振り分ける実践例

スポンサードリンク

やりたいこと

  • ブランチ A のいくつかのコミットを、ブランチ B、ブランチ C に分けたい。
  • 具体的に言うと、ブランチ A に含まれるコミット A1 をブランチ B に、ブランチ A に含まれるコミット A2 をブランチ C に分けたい。
  • 誤解語弊を恐れず直感的にに言えば、マージの逆の操作をしたい。

“【Git】cherry pick を理解する。そして各コミットを別々のブランチに振り分ける実践例”の続きを読む

CentOS 5 に Git をインストールしたときのバージョンは 1.8.2.3-1.el5

環境

  • CentOS release 5.11 (Final)

CentOS 5 への Git インストールコマンド

yum --enablerepo=epel install git

EPEL リポジトリを指定しませんと、簡単気軽にはインストールできませんの><。

“CentOS 5 に Git をインストールしたときのバージョンは 1.8.2.3-1.el5″の続きを読む


スポンサードリンク

【Git Bash】Windows でもっと簡単にファイルを tail -f する方法

コマンド

tail /c/Path/To/logFile.log | iconv -c -f SJIS

“【Git Bash】Windows でもっと簡単にファイルを tail -f する方法”の続きを読む

【Mac】Homebrew インストールの Git でタブ補完、ブランチ表示をする設定

環境

Homebrew でインストールした Git ですの。

$ brew info git
git: stable 2.10.1 (bottled), HEAD
... 略 ...

Git のタブ補完、ブランチ表示する設定コマンド

# Git のタブ補完、ブランチ表示する設定を追記
cat >> ~/.bashrc <<'EOF'
# ターミナルでタブ補完を有効
source /usr/local/etc/bash_completion.d/git-prompt.sh
source /usr/local/etc/bash_completion.d/git-completion.bash
# ターミナルにブランチ名を表示
GIT_PS1_SHOWDIRTYSTATE=true
export PS1='\h\[\033[00m\]:\W\[\033[31m\]$(__git_ps1 [%s])\[\033[00m\]\$ '
EOF

# 反映
source ~/.bashrc

“【Mac】Homebrew インストールの Git でタブ補完、ブランチ表示をする設定”の続きを読む

【Git】bare リポジトリで無いならば、push を受け入れないことを知りました

ポイント

“【Git】bare リポジトリで無いならば、push を受け入れないことを知りました”の続きを読む

【Git】bare リポジトリをクローンして bare リポジトリとする方法

コマンド

# bare リポジトリとしてクローン
git clone --bare <repository>

“【Git】bare リポジトリをクローンして bare リポジトリとする方法”の続きを読む

【Git】新しく名前を指定してブランチを作り、そこにチェックアウトするコマンドメモ

# リモートブランチ名とは別名でチェックアウト
git checkout -b <branch> --track <remote>/<branch>

# 作成場所のコミットなどを指定してブランチを作成し、そこにチェックアウト
git checkout -b <branch> <commit>

“【Git】新しく名前を指定してブランチを作り、そこにチェックアウトするコマンドメモ”の続きを読む

【Git】任意のコミットにタグを打つ方法

コマンド

# コミットのチェックサムとタイトルを確認
git log --pretty=oneline

# 任意のコミットにタグを作成
git tag -a <tagname> -m <msg> <commit>

“【Git】任意のコミットにタグを打つ方法”の続きを読む

【Git】追跡対象としてきたファイルを .gitignore に記述しても反映されない問題の対処方法

問題の内容

今まで Git でバージョン管理してきたファイルのいくつかを、.gitignore に記述し、コミットいたしました。

次に、.gitignore に追記したファイルを編集いたしました。

そうしてから git status で状態を確認してみますと、modified と表示され、つまりは追跡対象ファイルとして扱われてしまっておりました><。

解決のポイント

  • 今まで追跡してきたファイルを .gitignore に追記してコミットしただけでは追跡対象外とならない。
  • .gitignore に記入すると同時に、追跡対象外としたファイルをインデックスから削除する必要がある。
  • 「ファイルをインデックスから削除」を実行した時点で、削除した状態がインデックスに記録される。したがって削除した内容を git add する必要はない。

“【Git】追跡対象としてきたファイルを .gitignore に記述しても反映されない問題の対処方法”の続きを読む

【Git】コミットやタグを指定して欲しいファイルだけを作業ディレクトリにチェックアウトする方法

コマンド・ポイント

# 指定コミットやタグから指定ファイルだけを作業ディレクトリにチェックアウト
git checkout <tree-ish> -- <paths>

“【Git】コミットやタグを指定して欲しいファイルだけを作業ディレクトリにチェックアウトする方法”の続きを読む