ローカルのファイル群をSourceTree経由でGithHubに初めてコミットする

作成していたアプリはBitBucketと連携してprivateリポジトリで運用していたが、GitHubに公開することにしたため、その時の手順メモ。すでにローカルに作業中のファイルがあると、リモートリポジトリ(GitHub)からクローンできないため(空フォルダじゃないと怒られる)、ローカルのファイルをリモートリポジトリにアップする方法を記載。
(強引なやり方な気がするため、仕事で管理しているものは、社内の識者に確認された方がよいです。)

手順

ローカルで作業中のファイル群(プロジェクトフォルダ)があり、SourceTreeをすでに使っている想定で記載。

1. GitHubでアカウント登録する

2. GitHubで新規にリポジトリを作成する

3. SourceTreeで作成済みのリポジトリを削除する


その前に念のためプロジェクトのフォルダを丸ごとコピペしておく。失敗してもそれを元に戻せば直る。

4. ローカルにあるプロジェクトフォルダ内の.gitフォルダを丸ごと削除する

5. SourceTreeでローカルリポジトリを新規作成する(対象のプロジェクトフォルダのルートを指定する)

6. 右上の歯車アイコンからリモートを選択して、GitHubアカウントを追加する

7. プルしてローカルにマージする

これやらないでコミット・プッシュすると、GitHubにプッシュできなくてエラー1になったりするため、必ずプルしておくこと。
[ローカル] –> [ローカルのリポジトリ] –> [GitHubのリポジトリ
1]

8. 普通にローカルからコミット・プッシュする

9. 以上で完了

参考サイト

Written with StackEdit.

.gitignore設定とcommit後に.gitignoreが効かなくなる場合の対策

■gitの設定方法
git管理対象となっているディレクトリのルートあたりに
.gitignoreファイルを作って置くだけ。

記述内容は、無視するファイルやディレクトリを書くだけ。

————————————————–

# common
*.DS_Store

# CakePHP
tmp/*
public_html/cakephp/app/config/
public_html/cakephp/app/tmp/
!empty

————————————————–

「!」をつけると逆に無視しないようにできる。

具体的な作成方法は下記が分かりやすい。
Gitを使った分散開発管理13 – gitignoreで無視するファイルを指定する | Classmethod.dev()

無視する定義ファイルをフレームワークごとに作るのは
面倒なので、下記を参考に作ると簡単。
.gitignoreの設定に迷ったらgithubへどうぞ | IDEA*IDEA

■.gitignoreに設定したのに無視されない場合
一度commitしてpushしたファイルは.gitignoreに書いても
無視してくれない。

gitignoreでハマる – それ図解で。・・・tohokuaikiのチラシの裏

git initだけでは解決できず、自分は下記方法で解決した。
結論から言うと、.git自体を削除してpullするだけでOK。

git管理下でファイルをcommitしてpushする

.gitignoreに無視するディレクトリを書く

無視対象のファイルを編集し、git addすると無視されていない

commit済みなので、git initしてもNG

.gitディレクトリ自体を削除する

git initする

git remote add origin(リポジトリ名) ssh://git@〜[gitのURL]〜

git pull
↓ 
無視対象のファイルを編集し、git addして無視されれば成功

※自分にgitの知識があまりないため、この方法が
やり方として間違っている可能性があります。

!追記!
ほかの方法でもできたよ と教えていただきました。
コメント欄もご参照ください。
(情報ありがとうございます)