NokkunBlog

Keep technology simple.

Xcodeの.gitignoreの設定とPush

gitignoreの設定

Xcodeで作ったアプリのコードをGithubにアップしようとして、SourceControl→New Git Repositoriesをしてみた。

コミットされるのは良いが、要らないファイル(DerivedDataやアイコン画像ファイル)がたくさんコミットされてしまった。

ここで1から.gitignoreを作成して適用する手順をご紹介する。

Xcodeではなく、Terminalで作業をする。

cd プロジェクトフォルダ
touch .gitignore

上記で.gitignoreを作成できる。

次に管理されているファイル一覧を確認して、いらないフォルダに目星をつける。

notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git ls-files
.gitignore
DerivedData/...

次に作成した.gitignoreファイルを編集して、管理を外すファイルを指定する。

notsukunnoMacBook-Pro-10:WalkCounter nokkun$ open .gitignore
notsukunnoMacBook-Pro-10:WalkCounter nokkun$ cat .gitignore 
DerivedData/
WalkCounter/Assets.xcassets/
WalkCounter.xcodeproj/
WalkCounter/Base.lproj/
WalkCounter/Preview Content/

このファイルを作成&編集しただけでは、管理を外すことはできない。

「git rm」で一度ステージングを解除し、「git add」でステージングすることで、.gitignoreファイルの内容が反映される。

notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git rm -r --cached .
notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git add .
notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git commit -m "update .gitignore"

GithubへPushする

ignoreに設定したとはいえすでに大量のファイルを初回にコミットしてしまったが、GithubへのPushする方法も忘備録として残す。

Githubにブラウザでアクセスして、適当なレポジトリを作る。

XcodeのAdd Existing Remoteでリモートレポジトリを指定する。(Terminalでコマンド打っても良い)

Xcodeのアカウント情報の状態を確認する。

認証ができてないエラーが発生しており、パスワードではなく、パスワードトークンが必要だったのでGithubページから発行し入力した。

次にPushしようとXcodeのメニューから試してみたがエラーが発生したので、Terminalで以下を実行。

git pushで「リモートレポジトリ名」と「push したいローカルブランチ」を指定する。

notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git push -u origin main
Enumerating objects: 6858, done.
Counting objects: 100% (6858/6858), done.
Delta compression using up to 4 threads
:

ファイル数多すぎ!!

gitignoreで管理から外しても、コミットした時点のファイル数も含むのであった。

初回コミットでは不要ファイルに注意するべきでした。

ちなみに、originとはリモートレポジトリの名前である。

notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git remote -v
origin	https://github.com/age0319/WalkCounter.git (fetch)
origin	https://github.com/age0319/WalkCounter.git (push)

mainはブランチの名前。

notsukunnoMacBook-Pro-10:WalkCounter nokkun$ git branch
* main