Git

0원으로 현업 환경을 설정해보자! Git

iOS_Assin 2019. 11. 11. 03:48

이 포스팅은 "실제 현업의 환경을 설정해보자!"의 Series  중 일부입니다.

 

1.  0원으로 현업 환경을 설정해보자! Git

2  0원으로 현업환경을 설정해보자! Sourcetree

3. 0원으로 현업환경을 설정해보자! Beyond Compare

4. 0원으로 현업환경을 설정해보자! Git Flow(Sourcetree)

5. 0원으로 현업 환경을 설정해보자! Github Pull Request(코드 리뷰)

6. 0원으로 현업환경을 설정해보자! [번외편] 히스토리 꾸미기

 

Git 기초

버전관리는 시간에 흐름에 따라 

로컬 버전 관리 -> 중앙집중식 버전 관리(CVCS) -> 분산 버전 관리 시스템(DVCS) 순서로 흘러왔습니다.

 

중앙집중식 버전관리 VS 분산 버전 관리 시스템

중앙집중식 버전관리는 각 파일의 변화를 시간순으로 관리하면서 파일들의 집합을 관리합니다.

 

 

 

분산 버전 관리 시스템은 이전 상태의 파일에 대한 링크만 저장합니다.

즉, Git은 데이터를 스냅샷의 스트림처럼 취급합니다.

 

 

그렇기 때문에 중앙집중식 버전관리은 이전 버전으로 돌아갈 때 충돌이 자주 발생합니다. 

충돌이 발생한 경우 충돌 해결하는 방법을 사용자에게 직접 맡깁니다. 

 

분산 버전 관리 시스템은 충돌이 발생한 경우 3 Way Merge 라는 충돌 해결 방법을 사용할 수 있습니다. 

 

 

Git 파일 상태

Git은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리합니다.

 

  • Committed란 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미
  • Modified는 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 의미
  • Staged란 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미

https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88

 

Git 파일 라이프사이클

Git 파일은 Untracked, Unmodified, Modified, Staged 총 네가지 상태의 라이프 사이클을 가지고 있습니다.

 

 

https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0

 

git status 명령어는 파일 상태를 표시합니다.

 

$ echo 'My Project' > README
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    README

nothing added to commit but untracked files present (use "git add" to track)

 

더욱 자세한 내용은 여기를 참조하세요.

Git Alias

자세한 내용은 여기를 참조하세요.

 

우리에게 좋은 소식이 있습니다 😄

git checkout 이라고 풀 명령어를 치는 것이 귀찮으시다면 Alias 를 설정할 수 있습니다! 

 

설정 파일은 아래 경로에서 확인할 수 있습니다!

/Users/your user name/.gitconfig

 

 

참조: 

https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88

https://developer.github.com/v3/repos/releases/

https://stackoverflow.com/questions/5207269/how-to-release-a-build-artifact-asset-on-github-with-a-script

https://www.youtube.com/watch?v=wtH_D254jF4