前提
会社でも個人開発でも、まだリモートリポジトリを作っていなくて、先にローカルPCで作り始めちゃおう!!!!みたいなことありますよね。
で、良いところまで進んで、「あれ??ローカルだったっけ?やべー、リポジトリまだ作ってねえ、どうやるんだっけ」な方向けの記事です。
1. リモートリポジトリをサイトで作成する
あなたが何のウェブ型リポジトリマネージャーを使っているかわからない(github? gitlb? bitbucket?)けど、どれも大体リポジトリの作成は一緒なはず!
適当に作ってみよう!
2. SSHキーを作成する
次にやることはSSHキーの作成だ。
git clone https://user-name@bitbucket.org/test/tekitou_repository.git
とかHTTPでgit clone
したりgit push
しても良いんですが、ちょっとダサいし、
PCを再起動するたびにパスワード入れないといけないのがだるいので
SSHでgit clone
, git push
等した方がいいです!
そもそもSSHを知らない人は適当に調べてください。
(僕も完璧に説明できるかって言われると怪しいので誰か良い記事あったらURL教えてくだしあ)
とりあえず下にコマンド書きます。
sshキー作成して登録
cd ~/.ssh
ssh-keygen -t rsa -C “”
-t
暗号の種類
-C
コメント
オプション知りたい方はこちら↓
https://euske.github.io/openssh-jman/ssh-keygen.html
https://qiita.com/notkzk/items/919dc7123924c87d9d3f
公開鍵をサイトに登録
各サイトの設定から適当に登録してください
.ssh/configを作成して、設定を記述する
cd ~/.ssh
vi .ssh/config
Host bitbucket.org
User git
Port 22
HostName bitbucket.org
identityFile ~/.ssh/ainosh
TCPKeepAlive yes
IdentitiesOnly yes
余談
仕事と個人開発で、アカウント分けてssh接続したい時(今後使うかもしれないですね)
[備忘] 複数Githubアカウントでssh接続設定(config)を使い分ける手順
3. 作業してたディレクトリでとりあえずgit初期化
git init
初期化っていうと、ちょっと身が竦むかもしれないけど、「ここをgit支配下にするよ!!」的な呪文だから大丈夫!!!!
何回git init
しても大丈夫なので、ここで耐性をつけるために100回コマンドを打ちましょう!!!!(嘘)
4. リモートリポジトリにpushしていく
まずはgit remote addで、origin=リモートリポジトリにしてあげましょう
git remote add origin git@bitbucket:user/tekitou_repogitory.git
originが登録できたか確認
git remote -v
こんな感じででるはず
origin git@bitbucket:user/tekitou_repogitory.git (fetch)
origin git@bitbucket:user/tekitou_repogitory.git (push)
現状のソースコード確認
ローカルで色々作成していたファイルたちが見えるはず
まだstagingになってない
Gitのステージングエリアについて理解する[Git]
git status
git addしてcommit
遷移
作業ディレクトリ --(add)--> staging area --(commit)--> (ローカル)gitリポジトリ --|超えられないローカルとリモートの壁|--(push)--> (リモート)gitリポジトリ
大体こんな感じです、わかってる人は飛ばしてください
ということでadd
git add .
git status
staging()に上がってるはず
お次はcommit
git commit -m “initial commit”
git status
ローカルのgitリポジトリにcommitされて、綺麗になってます
リモートリポジトリにpushする
準備は整ったので、pushします!
これでローカルで始めてしまった開発コードをリモートにプッシュできます!
git push origin master
もし、ここでエラー起きたら(例えばリモートのリポジトリ作成時にREADME作ってしまって、ローカルにはなくてだめ的な)
## このコマンドで差分をそのまま別のブランチに移しちゃいます
git checkout -b develop(ここは適当なブランチ名で良い)
## ブランチが見事にdevelopになってるはず
git branch
## ローカルのdevelopブランチをリモートリポジトリにプッシュしましょう
git push origin develop
あとはリモート側でマージしちゃえばおk
終了