はじめに
リモート(githubなど)にはリポジトリがある、
ローカルにはgit管理されてないディレクトリやソースがある、な状況で
そのローカルディレクトリをgithubのリポジトリに紐づけるというだけのメモ
たまにはこういうおさらいネタを、と。
アジェンダ
アジェンダ作るほどでもないですが一応
- 対象ディレクトリをリポジトリ化する
- commitするユーザ情報を追加しておく
- リモート情報を取得する
- testブランチ作ってカラcommitで追加確認
1. 対象ディレクトリをリポジトリ化する
※ 紐づけたいディレクトリに移動 $ cd /path/to/dir ※ リポジトリ化する $ git init ※ この時点で`.git`というディレクトリができてリポジトリとして管理すべき情報などが作られます $ ls -al drwxr-xr-x 10 hoge hoge 340 2 9 12:11 .git ※ また、この時点でconfigに最低限のリポジトリ情報が追加される $ cat .git/config ---- [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true ---- ※ リポジトリ情報追加 $ git remote add origin git@github.com:ユーザ名/リポジトリ名.git ※ このときにリモートリポジトリの情報が追加される $ cat .git/config ---- [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = git@github.com:ユーザ名/リポジトリ名.git fetch = +refs/heads/*:refs/remotes/origin/* ----
補足
今回はすでにディレクトリやソースがある前提なので
最初にcd
コマンドで対象ディレクトリへ移動しましたが、
新規でディレクトリから作る場合、git init ディレクトリ名
とすることで
ディレクトリを新規に作成しつつgit管理化に置くこと(.git
も作られる)もできます
2. commitするユーザ情報を追加しておく
新規のときくらいにしかやらないので忘れがちですが、念のため最初にauthor情報も登録しておきます。
これを忘れると意図しないユーザ名でpushしちゃう時が多いんですよね。
※ 全体の設定をしたいとき $ git config --global user.name "Your Name" $ git config --global user.email "you@example.com" ※ リポジトリ(ディレクトリ)ごとにauthorを登録したいとき $ git config user.name "Your Name" $ git config user.email "you@example.com" ※ --globalつけずに設定したときのconfig $ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:ユーザ名/リポジトリ名.git fetch = +refs/heads/*:refs/remotes/origin/* [user] name = tweeeety email = tweeeety@tweeeety.com
3. リモート情報を取得する
いきなりカラcommit&pushして試してみてもいいんですが、その際にbranchを切りたいですよね。
branchを切るためには元になるbranch(masterなど)が欲しいところ。
そのためにまずはリモート情報を取得します
※ 試しにgit branchしてみると何も出てきません $ git branch ※ git statusはこのタイミングでディレクトリにあるファイルがすべて差分として表示されます $ git status - いろいろでてくる - $ git fetch remote: Counting objects: 60272, done. remote: Compressing objects: 100% (18523/18523), done. remote: Total 60272 (delta 38835), reused 57467 (delta 36274) ~ 省略 ~ $ git pull origin master From git@github.com:ユーザ名/リポジトリ名.git * branch master -> FETCH_HEAD Already up-to-date. $ git branch * master
testブランチ作ってカラcommitで追加確認
ブランチを切ってから、カラのcommit&pushしてpullrequest出してみることで確認します。
masterにも影響ないですしpull req消せばいいだけですしね。
※ 適当なブランチを切る ※ カラのcommitをしてpull req出す $ git commit --allow-empty -m 'created PR' $ git push -u origin master
まとめ
簡単なメモを書きたくなったので書いてみた