์ด์ ์ค์ ๋ด๋ด ์ด ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ์๊ฐ์ ์ฌ์ฉํ๋ค. ์ ์ถฉ๋์ด ์๊ฒผ๋์ง, ์ด๋ฐ์ ์ด๋ป๊ฒ ์ด ์ถฉ๋์ ์๋ฐฉํ ์ ์๋์ง ๊ทธ๋ฆฌ๊ณ ๋๋ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ๊ธฐ์ตํ๊ธฐ ์ํด์ ํด๋น ํฌ์คํ ์ ํ๋ ค๊ณ ํ๋ค!
์ด๋ฒ MC2 ํ๋ก์ ํธ์์ ๋ด๊ฐ Github repo๋ฅผ ๋ง๋ค๊ณ , Git์ ์กฐ๊ธ...์ด๋๋ง ์ด๋๊ฒ ๋์๋ค. ํ์ง๋ง ๊ทธ๋ ๊ฒ ํ๊ธฐ์ ๋๋ git ๊ด๋ จ ์ง์์ด ํฑ์์ด ๋ถ์กฑํ๋ค ใ ใ ๊ทธ๋์ ๋ด๊ฐ ์ธ์ด ์ด๋ฒ MC2 ํ๋ก์ ํธ์ ์์ ๋ชฉํ ์ค ํ๋๊ฐ ๋ฐ๋ก Git MASTER ๋๊ธฐ!
๐ ๊น ๋ง์คํฐ๊ฐ ๋๊ธฐ ์ํด์ ๋ด๊ฐ ์ค์ ํ ๋ชฉํ
- ์ง์ ํ repo ๋ด๊ฐ ๋ง๋ค๊ธฐ
- .gitignore ์ค์ ํ๊ธฐ
- readme ๋๋ด์ฃผ๊ฒ ์์ฑํ๊ธฐ
- Issue ์ฌ์ฉํ๊ธฐ
- code reivew ์งํํ๊ธฐ
- githubdesktop ๋ง๊ณ terminal๋ก git ๋ช ๋ น์ด ์ฌ์ฉ ์ตํ๊ธฐ
์ด ๋ชฉํ๋ฅผ ์ด๋ฃจ๊ธฐ ์ํด์ ํ repo๋ฅผ ์ง์ ์์ฑํ๊ณ , gitignore ํ์ผ์ ์์ฑํ๋ฉด์ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค.
๐ github์์ ์๊ธด conflict
ํ์์ github์์ PR์ ๋ ๋ฆฌ๊ณ merge๋ฅผ ํ ๋, ์ถฉ๋์ด ์๊ธฐ๋ฉด github ๋ด๋ถ์์ conflict๋ฅผ ํด๊ฒฐํ๊ณ merge ํ์๋ค.
์ด๋ ๊ฒ ์ถฉ๋์ด ์๊ธฐ๋ฉด ์ค๋ฅธ์ชฝ์ Resolve conflicts ๋ฅผ ํด๋ฆญํด์ ํด๊ฒฐํ์๋ค.
๊ทผ๋ฐ xcuserdata์ ๊ด๋ จ๋ ์ถฉ๋์ด๋ฐ์ํ์๋๋ ์ ๋ฒํผ์กฐ์ฐจ ์๊ธฐ์ง ์์๋ค. ๊ทธ๋ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋์ mergeํด๋ผ ๋ผ๋ ์์ ๋ฉ์์ง ๋ฟ์ด์๋ค.
์ด ์ธ๊ฐ์ ํ์ผ์์ ์ถฉ๋์ด ๋ฌ์๊ณ , ์ธ๊ฐ ์ ๋ถ jisoo.pos.scuserdataed์๋ค. ํด๋น ํ์ผ์ด ์ด ์ธ๊ตฐ๋ฐ์ ๋ค์ด๊ฐ ์์์ด์, ์ธ๊ตฐ๋ฐ์์ conflict๊ฐ ๋ฌ๋ค.
๐ ์ด๋์ ๋ถํฐ ๋ฌธ์ ๊ฐ ๋๋๊ฐ?
์ ํ์ผ์ ๊ฐ์ธ์ด local์์ xcode ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ๋๋ง๋ค ๊ฐฑ์ ๋์ด ์์ฑ๋๋ ํ์ผ์ด๋ผ๊ณ ํ๋ค. ์ ์ผ ์ฒ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ repo๋ฅผ ์์ฑํ ์ฌ๋์ด ๋์ด๊ธฐ ๋๋ฌธ์, ๋์ ๊ฐ์ธ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
๊ทธ๋์ ํด๋น main ๋ธ๋์น์์ pull์ ๋ฐ์์ ์์ ํ๋ ๋ชจ๋ ํ์๋ค์ local์๋ ์ ํ์ผ๋ค์ด ๋ค์ด๊ฐ ์๋ ์ํ์๋ค. ๊ทธ๋์ ์๊พธ ํ์๋ค๊ณผ ๋ด๊ฐ commit์ ์ฌ๋ฆด ๋๋ง๋ค jisoo.pos ํ์ผ์์ ์ถฉ๋์ด ๋ฌ๋ ๊ฒ์ด๋ค.
๐ .gitignore ์ค์ ์ด ์๋ชป๋๊ตฌ๋?
ํด๋น xcuserdata ํ์ผ์ด git์์ ์ถ์ ์ด ๋์ง ์๋๋ก gitignore์ ์ค์ ํ์ด์ผ ํ๋ค. ํ์ง๋ง ๋ ๊ทธ ๊ณผ์ ์ ์ด๋ฐ์ ํ์ง ์์๊ธฐ ๋๋ฌธ์, ๋ด ๋ก์ปฌ์์๋ ๋ชจ๋ ๊ฒ์ด ์ฌ๋ผ๊ฐ๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
https://www.toptal.com/developers/gitignore
์ฌ๊ธฐ ๋ค์ด๊ฐ๋ฉด ํค์๋๋ฅผ ์ ์ด์ ๊ด๋ จ๋ gitignore ๋ชฉ๋ก๋ค์ ์ฝ๊ฒ ๋ฐ์๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์ xcode๋ฅผ ๋ฃ์์ด์ผ ํ๋๋ฐ,, ๋ฃ์ง ์์๋ ๊ฒ์ด๋ค.
# Created by https://www.toptal.com/developers/gitignore/api/xcode
# Edit at https://www.toptal.com/developers/gitignore?templates=xcode
### Xcode ###
## User settings
xcuserdata/
## Xcode 8 and earlier
*.xcscmblueprint
*.xccheckout
### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno
**/xcshareddata/WorkspaceSettings.xcsettings
# End of https://www.toptal.com/developers/gitignore/api/xcode
์ด๊ฑธ.. ์๋ฃ์๋ค.๊ทธ๋์ userdata๊ฐ ์ถ์ ๋๋ ์ํฉ ใ ใ
๐ ํด๊ฒฐ๋ฐฉ๋ฒ
์ฐ์ , ์ด๋ฏธ ๋ชจ๋ ์ฌ๋๋ค์ local์ ์๋ชป๋ .gitignore์ด ๋ค์ด๊ฐ์๊ณ , ์ด๋ฏธ ๋ด xcuserdata๊ฐ ๋ชจ๋ ๋ค์ด๊ฐ์๊ธฐ ๋๋ฌธ์ main์์ gitignore๋ง ์์ ํ๋ค๊ณ ํด๊ฒฐ๋ ๋ฌธ์ ๊ฐ ์๋์๋ค.
๊ทธ๋์ ๋๋ ์กฐ๊ธ ,, ์๊ณ ์ค๋ฝ์ง๋ง ๋ชจ๋ ๋ธ๋์น์ ํ์๋ค์ ๋ก์ปฌ์์ ์ ๋ถ xcuserdata ํ์ผ์ ์ฐพ์์ ์ญ์ ํด์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๋กํ๋ค.
์๋ ์ฌ์ง์ ๋ณด๋ฉด, xcuserdataํ์ผ์ด ์์ ๋น์, ๋ง๋ค์ด์ง ๋ชจ๋ ๋ธ๋์น์ ์ ๋ฌํฅ ํ์ผ๋ค์ด ์กด์ฌํ๋ค. ํด๋น ํ์ผ๋ค์ ์ ๋ถ ์๊ธฐ๋ก delete directory ๋ฅผ ํด์ฃผ์๋ค. ๋ชจ๋ .. ๋ธ๋์น ์ ๋ถ..
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ๋ง ํด๋, ์ด์ฐจํผ ํ์๋ค์ ์ปดํฐ ๋ด๋ถ์์ ๋ commitํ ๋ xcuserdata๊ฐ ๋ธ๋ ค์ฌ๋ผ์ฌ๊ฑฐ๋ผ์ , ํ์๋ค์ ๋ ธํธ๋ถ์ ์ ๊น ๋ฌ๋ผ๊ณ ํด์ ํ์๋ค์ ๋ก์ปฌ์์๋ ์ ๋ถ jisoo.pos (๋์ xcuserdata)๋ฅผ ์ญ์ ํด์ฃผ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ญ์ ๋ด์ญ์ commit..
๊ทธ๋ฆฌ๊ณ ํ์๋ค์ gitignore์ ์ ๋ถ ์๋ก ์ ๋ฐ์ดํธํด์ฃผ๊ณ , main์ gitignore์ ์ ๋ฐ์ดํธ ํด์ฃผ์๋ค.
์์ผ๋ก๋...gitignore ์ ์ค์ ํ๊ณ ์ ์คํ๊ฒ repo๋ฅผ ๋ง๋ค์ด์ผ๊ฒ ๋ค....