ポイント
- bare リポジトリでなくとも、リモートリポジトリとして扱うことが可能
- ローカルリポジトリでファイルサーバ上にあるものを、ただ単に
git clone
すれば取得してリモートリポジトリとして扱うことが可能 - bare リポジトリでないリポジトリを
git clone
するには、.git フォルダの置いてあるフォルダのパスを指定すればよい。
git clone
すれば取得してリモートリポジトリとして扱うことが可能git clone
するには、.git フォルダの置いてあるフォルダのパスを指定すればよい。共通の祖先をもつ3つのブランチをマージしたい
を
へとマージしたいですわ。
なお feature1-2-3 は master からチェックアウトしたマージ専用のブランチですの。
改行コードの Windows の Git のデフォルト設定での場合、CRLF でチェックアウトされます。
この状態ですと例えば CentOS のキックスタートファイルやシェルファイルで CR 部分が文字列として追加されてしまいます。
これによって、ファイルやディレクトリ作成時、意図しない名前となり、エラーとなってしまいました><。
今回、このエラーを回避した Git の操作テクニックを、2 つノートいたします♪
git add
するファイルを少なくして再度実行していく。git archive
と git diff
を組み合わせる。git diff --name-only <commit1> <commit2>
git archive --format=zip --output=<file> <tree-ish> <path>
git merge --no-commit <branch>
: 現在のブランチに指定ブランチをマージしステージングを行うが、コミットはしない。git merge --abort
: マージを取り消し、マージ前の状態にステージングと作業ディレクトリを戻す。git reset --hard
: ステージングと作業ディレクトリをリセットし、直前のコミット状態に一致させる。git clean -df
: 追跡対象外のファイルとフォルダを削除GitHub といったホスティングサービスや、自由に使える Linux サーバーが無い、そんな環境に遭遇いたしました。
この場合当然、便利なリモートリポジトリが使えません><。
ただし、リモートリポジトリ自体が使えないかと言われれば、まだ可能性はございます。
ファイルサーバがあれば、これをリモートリポジトリとして使用することが可能ですの!
今回、既存のローカルリポジトリからリモートリポジトリを立て、他のメンバーに使ってもらうところまでのやり方をノートいたします♪
# ローカルリポジトリから bare リポジトリを作成 # .git ディレクトリの1つ上のディレクトリに移動して実行すること git clone --bare <local> <bare>.git # origin という名前でリモートリポジトリを登録 git remote add origin <remote_repository_url> # リモートリポジトリの内容を確認 git remote show origin # リモートリポジトリを取得 git clone <remote_repository_url>
GitHub に今まで書いたコードまとめておけば、再利用するときに楽ができるかしら、と思いました。
今まで GitHub を触ったことがありませんでしたので、今回使用してみた流れを残しておきますの♪
Packer で Vagrant 用の最低限の OS Box を作成するコードを幾つか書いてまいりました。これを GitHub へホスティングしようと思います。
今回は、CentOS 5 の Box 化コードをホスティングした時の手順を残しますわ♪
最初に GitHub でリポジトリを作成し、次にそれをローカルに持ってくる、というのがポイントでしたの。
逆の、ローカルで作成したリポジトリを GitHub へアップロードする、というのは、実はできるのかもしれませんけれどもわかりませんでしたわ。
Git で管理しているプロジェクトで、新しく開発作業を始めるたびに一部ファイルの設定部分をローカル開発用に修正する必要がございました。
一旦該当ファイルのバックアップを作り、設定部分を書き換えればよいですの。
ただ、辛いですの><。
リモートリポジトリに push する前に設定ファイルを元に戻す必要があり、面倒ですの><。
そして次の作業に入るときに設定ファイルをローカル開発用に再度変更する必要があり、面倒ですの><。
Git を使って少しでも楽ができないかしら?
以前触ってみて使い途がわからなくなっていた git stash
が使えましたので、ご紹介いたします♪