git의 장점
- 소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다.
- 즉 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(Merge)으로 개발을 진행할 수 있다.
브랜치, 브랜치 전략
우리가 만들 프로젝트를 master라고하면 우리는 다양한 서비스를 여러 명이서 개발을 해야한다.
그렇다면 서비스별로 branch를 만들어서 작업을 하고 master에 merge request (gitlab), pull request (github)를 요청한다.
이러한 과정이 브랜치 전략이다.
git 시작하는 법
1. 새로운 git repository를 만든다. (gitlab, github)
2. git관리 프로그램인 git을 받는다. git-scm.com/downloads
3. 다운을 받으면 관리할 폴더를 커맨드창이나 UI로 관리할 수 있게 된다. (Git Bash기준으로 설명하겠다.)
git bash를 누르면 다음과 같이 커맨드 창을 확인할 수 있다.
4. 관리를 위한 초기 세팅및 푸시방법
echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git config --global user.email "chan@naver.com"
git config --global user.name "chan"
git remote add origin https://github.com/{UserId}/test.git
git push -u origin main
설명을 해보면
1. 프로젝트를 설명할 수 있는 README.md라는 파일을 만든다.
2. 이 폴더를 git으로 관리하겠다. - ( git add . )를 하면 폴더 내에 모든 파일이 올라간다.
3. README.md라는 파일을 저장소에 내겠다.
4. 우리가 add한 파일을 "first commit"이라는 이름으로 repository에 저장하겠다.
5. user이메일을 등록
6. user이름을 등록
7. 원격 저장소인 다음 주소가 repository 주소다.
8. commit한 파일을 push하겠다 (올리겠다)
5. 브랜치 사용법 - github는 다음과 같은 창에서 branch 명만 입력해도 branch를 만들 수 있다. (gitlab은 branch버튼 금방 찾기 가능)
git branch
git branch branch1
브랜치 확인
branch1로 변경
-> branch1로 변경하면 커맨드창에서 master라고 떴던 것이 branch1으로 바뀐다.
git pull
master에 현재까지 파일 다운
작업후 commit 하는 방법을 이용해서 준비 후
git push -u main branch1
branch1으로 push한다.
6. 이후 작업이 일정 수준 완료되면 merge request나 pull request를 한다.
그러면 master나 프로젝트 관리자가 해당 내용을 하고 요청을 수락하는 방법으로 진행된다.
확인사항
git add . 를 하면 모든 파일이 올라가게 되는데 이때 사용하는 것이
.gitignore인데 해당 파일이나 경로를 제외한 파일에 대해서만 관리할 수 있다.
(환경 변수나 setting들이 같이 repository에 올라가게 되면 다른 사람이 개발할때 문제가 될 수 있다.)
gitignore.io/
다음 사이트에서 만들 수 있다.
eclipse, window와 같이 개발을 위한 환경을 입력하면 해당하는 .gitignore을 생성해주는데 이것을 git관리하는 폴더에 넣어주면 된다.
주의사항
다른 사람과 작업을 하다보면 충돌이 일어날 수 있고 위험하다.
위에 있는 설명이 부족할 수 있으니 충분히 사용법을 익히고
되도록 다른 파일들을 건드리지 않는 명령어들을 이용해서만 관리하는 것이 좋다.
'개발자 > v0' 카테고리의 다른 글
git 정리 2 (0) | 2020.12.29 |
---|---|
웹 프로그래밍 하면서 참고할 사항들 (0) | 2020.12.10 |
5. 구현 설계 (0) | 2020.10.14 |
2. 소프트웨어 개발의 이해를 돕기 위한 비유 (0) | 2020.10.14 |
1. 소프트웨어 구현이란 무엇인가? (0) | 2020.10.14 |