Git - Sizuha/devdog GitHub Wiki

๊ฐ„๋‹จ ์‚ฌ์šฉ๋ฒ•

์„œ๋ฒ„์— ์›๊ฒฉ ์ €์žฅ์†Œ(bare repository) ์ƒ์„ฑ

์›๊ฒฉ ์ €์žฅ์†Œ home ๋””๋ ‰ํ† ๋ฆฌ์—์„œ,

git init --bare <project name>.git

์ €์žฅ์†Œ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

git clone {git-repo-address}

์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ

git add . ํ˜น์€ git add --all
git commit
git push

์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆด๋•Œ

git push origin branch_name

Branch (๊ฐ€์ง€)

๊ฐ€์ง€ ํ™•์ธ

git branch

๊ฐ€์ง€ ์ด๋™

git checkout {branch_name}

๊ฐ€์ง€ ๋งŒ๋“ค๊ธฐ

git checkout -b {branch_name}

๊ฐ€์ง€ ์ง€์šฐ๊ธฐ

git branch -d {branch_name}

origin์— ์žˆ๋Š” ๊ฐ€์ง€ ์ œ๊ฑฐ

git push origin :branch_name

๋‹ค๋ฅธ ๊ฐ€์ง€์— ์žˆ๋Š” ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋จธ์ง€

git merge {branch_name}

๋จธ์ง€ํ•œ ๋‹ค์Œ์— push๊นŒ์ง€ ํ•ด์•ผ ์ €์žฅ์†Œ์— ๋ฐ˜์˜๋จ.

Tag

๋ถ™์ด๊ธฐ

git tag TAG_NAME 
git push origin TAG_NAME

๋กœ์ปฌ์— ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ์ „๋ถ€ Push

git push origin --tags

์‚ญ์ œ

git tag -d TAG_NAME 
git push origin :TAG_NAME

Tips

Git ์ฝ˜์†”์—์„œ ์ปฌ๋Ÿฌ ํ‘œ์‹œ

git config color.ui true

.gitignore ๋ฐ”๋กœ ์ ์šฉํ•˜๊ธฐ

git rm -r --cached .
git add .
git commit -m"fixed untracked files"

Branch ์šด์˜

  • master / main: ์ตœ๊ทผ์— ๋ฆด๋ฆฌ์ฆˆ๋œ ์ƒํƒœ (์•ˆ์ •๋ฒ„์ „)
  • dev: ํ˜„์žฌ ๊ฐœ๋ฐœ ์ง„ํ–‰์ค‘์ธ ์ƒํƒœ
  • pre: ๋ฆด๋ฆฌ์ฆˆ ์ง์ „ ์ƒํƒœ

ํ”„๋กฌํ”„ํŠธ์— ๋ธŒ๋Ÿฐ์น˜ ํ‘œ์‹œ

zsh

~/.zshrc ํŒŒ์ผ์— ์ถ”๊ฐ€

# VCSใฎๆƒ…ๅ ฑใ‚’ๅ–ๅพ—ใ™ใ‚‹zsh้–ขๆ•ฐ
autoload -Uz vcs_info
autoload -Uz colors # black red green yellow blue magenta cyan white
colors

# PROMPTๅค‰ๆ•ฐๅ†…ใงๅค‰ๆ•ฐๅ‚็…ง
setopt prompt_subst

zstyle ':vcs_info:git:*' check-for-changes true #formats ่จญๅฎš้ …็›ฎใง %c,%u ใŒไฝฟ็”จๅฏ
zstyle ':vcs_info:git:*' stagedstr "%F{green}!" #commit ใ•ใ‚Œใฆใ„ใชใ„ใƒ•ใ‚กใ‚คใƒซใŒใ‚ใ‚‹
zstyle ':vcs_info:git:*' unstagedstr "%F{magenta}+" #add ใ•ใ‚Œใฆใ„ใชใ„ใƒ•ใ‚กใ‚คใƒซใŒใ‚ใ‚‹
zstyle ':vcs_info:*' formats "%F{cyan}%c%u(%b)%f" #้€šๅธธ
zstyle ':vcs_info:*' actionformats '[%b|%a]' #rebase ้€”ไธญ,merge ใ‚ณใƒณใƒ•ใƒชใ‚ฏใƒˆ็ญ‰ formats ๅค–ใฎ่กจ็คบ

# %b ใƒ–ใƒฉใƒณใƒๆƒ…ๅ ฑ
# %a ใ‚ขใ‚ฏใ‚ทใƒงใƒณๅ(mergeใชใฉ)
# %c changes
# %u uncommit

# ใƒ—ใƒญใƒณใƒ—ใƒˆ่กจ็คบ็›ดๅ‰ใซ vcs_info ๅ‘ผใณๅ‡บใ—
precmd () { vcs_info }

# ใƒ—ใƒญใƒณใƒ—ใƒˆ๏ผˆๅทฆ๏ผ‰
PROMPT='%{$fg[red]%}[%n]%{$reset_color%}'
PROMPT=$PROMPT'${vcs_info_msg_0_} %{${fg[red]}%}%}%#%{${reset_color}%} '

# ใƒ—ใƒญใƒณใƒ—ใƒˆ๏ผˆๅณ๏ผ‰
RPROMPT='%{${fg[red]}%}[%~]%{${reset_color}%}'

ํ‘œ์‹œ์˜ˆ:

[user]+(master) %                                                                                                 [~/Documents/workspace/android/memo]

Git ์šด์˜๋ฐฉ๋ฒ•

Gitใฎ้‹็”จ