Git

02. Git repository ๋งŒ๋“ค๊ธฐ

๐Ÿ”ท Git repository ์ƒ์„ฑ

๐Ÿ”ถ document

https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-%EC%A0%80%EC%9E%A5%EC%86%8C-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

Git - Git ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ

2.1 Git์˜ ๊ธฐ์ดˆ - Git ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ Git์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์‹ถ์€๋ฐ ํ•œ ์ฑ•ํ„ฐ๋ฐ–์— ์ฝ์„ ์‹œ๊ฐ„์ด ์—†๋‹ค๋ฉด ์ด๋ฒˆ ์ฑ•ํ„ฐ๋ฅผ ์ฝ์–ด์•ผ ํ•œ๋‹ค. Git์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋ชจ๋‘ 2์žฅ์— ๋“ฑ์žฅํ•œ๋‹ค. 2์žฅ์„ ๋‹ค

git-scm.com

 

 

 

- git ํŽ˜์ด์ง€์—์„œ๋Š” ์œ„์˜ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ๋‚˜์™€์žˆ๋‹ค.

- 2๊ฐ€์ง€ ๋ฐฉ๋ฒ• + vscode์—์„œ ์œ ๋‹ˆํ‹ฐํ”„๋กœ์ ํŠธ๋ฅผ ํฌํ•จํ•œ git ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌ

 

 

 

๐Ÿ”ถ ์ž‘์—…๋ฌผ์„ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ(์ €์žฅ์†Œ)์— ์˜ฌ๋ฆฌ๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•

  1. ์ž‘์—…ํ•˜๋˜ ํด๋”๋ฅผ init > git ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ > ์—ฐ๊ฒฐ(remote add)
  2. git ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ > clone > clone ๋ฐ›์€ ํด๋” ์•ˆ์—์„œ ์ž‘์—…
  3. ์œ ๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ > git ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ

 

 

 

 

๐Ÿ”ถ 1. ์ž‘์—…ํ•˜๋˜ ํด๋”๋ฅผ init > git ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ > ์—ฐ๊ฒฐ(remote add)

- ์œ„์™€ ๊ฐ™์€ ํด๋”์™€ ์ž‘์—…๋ฌผ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •

 

 

 

- Git Bash๋ฅผ ์—ด์–ด ์ž‘์—…ํ•˜๋˜ ํด๋”๋กœ ์ง„์ž…

    - cd /c : c๋“œ๋ผ์ด๋ธŒ๋กœ ์ง„์ž…

    - cd ํด๋”์ด๋ฆ„ : ํ˜„์žฌ ์œ„์น˜ํ•œ ๊ณณ์—์„œ ํด๋”์ด๋ฆ„์„ ์ฐพ์•„์„œ ์ง„์ž…

    - ls : ํ˜„์žฌ ์œ„์น˜ํ•œ ๊ณณ์— ์žˆ๋Š” ํŒŒ์ผ ๋ชฉ๋ก์„ ๋ณด์—ฌ์คŒ

 

 

 

- git init : ๋กœ์ปฌ์ €์žฅ์†Œ ์ƒ์„ฑ

 

 

 

- github ํ™ˆํŽ˜์ด์ง€ > ๋กœ๊ทธ์ธ

- Your repositories

 

 

 

- New

 

 

 

- ์ €์žฅ์†Œ ์ด๋ฆ„ ๊ธฐ์ž…

- public / private : ๋‚จ๋“ค์—๊ฒŒ ๋ณด์—ฌ์ค„์ง€, ๋‚˜๋งŒ ๋ณผ์ง€ ์„ค์ •

- Add .gitignore > Unity : unity ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ฌ๋ฆด๊ฑฐ๋ผ๋ฉด ์„ค์ •

 

 

 

- Code

- ์ฃผ์†Œ ๋ณต์‚ฌ

 

 

 

- git remote add origin ์นดํ”ผํ•œ ์ฃผ์†Œ : ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐ

- git remote -v : ์—ฐ๊ฒฐ๋œ ์›๊ฒฉ ์ €์žฅ์†Œ ํ™•์ธ

 

 

 

- git pull origin master : ์›๊ฒฉ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜๋ฅผ pullํ•˜์—ฌ ๋กœ์ปฌ์˜ master๋ธŒ๋žœ์น˜์™€ ์—ฐ๊ฒฐ

- git add . : ๋ชจ๋“  ํŒŒ์ผ์„ ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ฆผ

- git commit -m "์ปค๋ฐ‹๋ฉ”์„ธ์ง€" : ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ฆฐ ํŒŒ์ผ๋“ค์„ ์ปค๋ฐ‹

- git push origin master : ์›๊ฒฉ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜์— push

 

 

 

- ์ปค๋ฐ‹์ด ์˜ฌ๋ผ์˜จ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

 

 

๐Ÿ”ถ 2. git ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ > clone > clone ๋ฐ›์€ ํด๋” ์•ˆ์—์„œ ์ž‘์—…

 

- ์•ž์„œ ๋งŒ๋“ค์–ด๋†“์€ ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ ์ด์šฉ

- ์ฃผ์†Œ ๋ณต์‚ฌ

 

 

 

- ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ cloneํ•  ์œ„์น˜

 

 

 

- git clone ์นดํ”ผํ•œ ์ฃผ์†Œ

 

 

 

- ํด๋ก ํ•œ ์ €์žฅ์†Œ์˜ ์ด๋ฆ„์œผ๋กœ ํด๋”๊ฐ€ ์ƒ์„ฑ๋๊ณ , ๊ทธ ์•„๋ž˜์— ์ €์žฅ์†Œ์— ์žˆ๋˜ ํŒŒ์ผ๋“ค์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธ

 

 

 

๐Ÿ”ถ 3. ์œ ๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ > git ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ

 

- ์œ ๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 

 

 

- script ์ƒ์„ฑ

 

 

 

- vscode๋กœ ์—ด๊ธฐ

 

 

 

- ์šฐํด๋ฆญ > New File

- ์ฃผ์˜ : ์šฐํด๋ฆญ ์‹œ ํด๋” ์•ˆ์— ์žˆ๋Š” ๊ตฌ์—ญ์ด ์•„๋‹ˆ๋ผ ๋งจ ์•„๋ž˜์— ์žˆ๋Š” ๋นˆ๊ณต๊ฐ„์— ์šฐํด๋ฆญ์„ ํ•ด์•ผํ•จ

 

 

 

- ํŒŒ์ผ๋ช… : .gitignore

- ์ œ๋Œ€๋กœ ์ž…๋ ฅํ•˜๋ฉด ์šฐ์ธก ์•„์ด์ฝ˜์ด ๋ณ€ํ•จ

 

 

 

# Created by https://www.toptal.com/developers/gitignore/api/unity
# Edit at https://www.toptal.com/developers/gitignore?templates=unity

### Unity ###
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*

# End of https://www.toptal.com/developers/gitignore/api/unity

- .gitignore ํŒŒ์ผ์— ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ

- ์ €์žฅ

 

 

 

- ๋˜‘๊ฐ™์ด .gitattributes ํŒŒ์ผ ์ƒ์„ฑ

 

 

 

# Unity
*.cginc              text
*.cs                 text diff=csharp
*.shader             text

# Unity YAML
*.mat                merge=unityyamlmerge eol=lf
*.anim               merge=unityyamlmerge eol=lf
*.unity              merge=unityyamlmerge eol=lf
*.prefab             merge=unityyamlmerge eol=lf
*.asset              merge=unityyamlmerge eol=lf
*.meta               merge=unityyamlmerge eol=lf
*.controller         merge=unityyamlmerge eol=lf

# "physic" for 3D but "physics" for 2D
*.physicMaterial2D   merge=unityyamlmerge eol=lf
*.physicMaterial     merge=unityyamlmerge eol=lf
*.physicsMaterial2D  merge=unityyamlmerge eol=lf
*.physicsMaterial    merge=unityyamlmerge eol=lf

# Using Git LFS
# Add diff=lfs merge=lfs to the binary files

# Unity LFS
*.cubemap            binary
*.unitypackage       binary

# 3D models
*.3dm                binary
*.3ds                binary
*.blend              binary
*.c4d                binary
*.collada            binary
*.dae                binary
*.dxf                binary
*.FBX                binary
*.fbx                binary
*.jas                binary
*.lws                binary
*.lxo                binary
*.ma                 binary
*.max                binary
*.mb                 binary
*.obj                binary
*.ply                binary
*.skp                binary
*.stl                binary
*.ztl                binary

# Audio
*.aif                binary
*.aiff               binary
*.it                 binary
*.mod                binary
*.mp3                binary
*.ogg                binary
*.s3m                binary
*.wav                binary
*.xm                 binary

# Video
*.asf                binary
*.avi                binary
*.flv                binary
*.mov                binary
*.mp4                binary
*.mpeg               binary
*.mpg                binary
*.ogv                binary
*.wmv                binary

# Images
*.bmp                binary
*.exr                binary
*.gif                binary
*.hdr                binary
*.iff                binary
*.jpeg               binary
*.jpg                binary
*.pict               binary
*.png                binary
*.psd                binary
*.tga                binary
*.tif                binary
*.tiff               binary

# Compressed Archive
*.7z                binary
*.bz2               binary
*.gz                binary
*.rar               binary
*.tar               binary
*.zip               binary

# Compiled Dynamic Library
*.dll               binary
*.pdb               binary
*.so                binary

# Fonts
*.otf               binary
*.ttf               binary

# Executable/Installer
*.apk               binary
*.exe               binary

# Documents
*.pdf               binary

# ETC
*.a                 binary
*.rns               binary
*.reason            binary

# Collapse Unity-generated files on GitHub
*.asset             linguist-generated
*.mat               linguist-generated
*.meta              linguist-generated
*.prefab            linguist-generated
*.unity             linguist-generated

# Spine export file for Unity
*.skel.bytes        binary

- .gitattributes ํŒŒ์ผ์— ์œ„์˜ ์ฝ”๋“œ ๋ถ™์—ฌ๋„ฃ๊ธฐ

- ์ €์žฅ

 

 

 

- Ctrl + Shift + P

- Publish to Github

 

 

 

- private / public ๊ฒฐ์ •

 

 

 

- ์šฐ์ธก ํ•˜๋‹จ์— ๋œจ๋Š” ํŒ์—…์ฐฝ : ๋กœ๋”ฉ์ด ๋๋‚˜๋ฉด ์›๊ฒฉ์ €์žฅ์†Œ๊ฐ€ ์ƒ์„ฑ๋๋‹ค๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋œธ

 

 

 

- ์œ ๋‹ˆํ‹ฐํ”„๋กœ์ ํŠธ๊ฐ€ ํฌํ•จ๋œ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธ

'Git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

05. Git - add, commit, push ๊ฐœ๋…  (0) 2021.09.08
04. commit --amend  (0) 2021.09.06
Vim ๋ช…๋ น์–ด - ์ตœ์†Œํ•œ  (0) 2021.08.27
03. Git - Alias  (0) 2021.08.26
01. Git Setting  (0) 2021.08.07