몰입하는 개발자

An immersive developer/researcher

개발자 김모립/Web

[django 협업 시작] git 협업 시작

jiankimr 2023. 7. 7. 12:30

프로젝트를 둘 폴더명: stepup

프로젝트명: blanket

 

<팀장>

0. 깃헙 public 레포지토리 생성, 콜라보레이터에서 팀원 이메일 추가.

1. stepup폴더 생성

2. vscode에서 해당 폴더 열기

3. 터미널에서

$ python -m venv myvenv

$ source myvenv/Scripts/activate

$ pip install django

$ django-admin startproject blanket

4. cd blanket

5. python manage.py runserver로 실행 잘 되는지 확인하기.

6. 이후 원하는 앱 생성하고 settings.py에 앱 이름 추가하기.

https://wikidocs.net/91422

 

3-05 첫 번째 Django프로젝트 시작하기

## Django 개발 환경 설정 먼저, 우리가 배울 `django` 라이브러리를 다운 받자. ``` $ pip install django ``` 조금만 기다리면 최…

wikidocs.net

7. stepup안에 .gitignore 파일 만들고


#가상환경 제외
myvenv/

#보안상 이유로 settings.py 의 secret_key 값 제외
<MY-PROJECT-DIRECTORY>/settings.py

#실제 데이터가 들어있는 데이터베이스 파일 제외
db.sqlite3

#각종 로그 파일 및 임시파일 제외
*.log
*.pot
*.pyc
__pycache__/

위와 같이 입력하기

8.  $ pip freeze > requirements.txt (이것도 stepup바로 아래에 하기)

9. stepup 에서(계속해서 blanket안으로 들어가지 않음)

$ git config --global user.name ~~~

$ git config --global user.email ~~~ 

$ git init

$ git branch -M main (git의 기본 blanch가 master가 부정적인 어감을 준다는 이유로 main으로 변경되었다고 함. 그러나 바로 적용되진 않아서, init 이후 (master)가 뜬다면 사용자가 직접 main으로 바꾸어줘야 한다고 함)

$ git add . (적진 않았지만 모든 상황에서 나는 myvenv를 활성화시켜둔다 프로젝트 잠시 중단할 때만 끈다.)

$ git commit -m "first commit"

$ git remote add origin https://github.com/jiankimr/StepUp.git

 

GitHub - jiankimr/StepUp: Mind Care Mobile Web Services

Mind Care Mobile Web Services. Contribute to jiankimr/StepUp development by creating an account on GitHub.

github.com

$ git push -u origin main

 

<팀원>

1. 프로젝트를 진행할 폴더 생성

 

2. vscode에서 해당 폴더 열기

 

3. 아래 명령어 실행

$ python -m venv myvenv 

(.gitignore 파일에 myvenv 제외되게 해놨으니 다른 사람들도 그냥 myvenv로 가상환경이름 지으면 될듯)

$ source myvenv/Scripts/activate

$ pip install django

(git repository에 있는 requirement.txt를 직접 내려받아도 되지만(pip install -r requirements.txt) 현재까지는 pip install django만 하면 해당 내용이 모두 설치되므로 이렇게 해도 됨.)

 

4. 아래 명령어 실행

$ git config --global user.name ~~~

$ git config --global user.email ~~~ 

$ git clone https://github.com/jiankimr/StepUp.git

 

GitHub - jiankimr/StepUp: Mind Care Mobile Web Services

Mind Care Mobile Web Services. Contribute to jiankimr/StepUp development by creating an account on GitHub.

github.com

$ cd (복사해온 파일명)

 

5. git branch 생성하기

$ git checkout -b <브랜치명>

(로컬 브랜치 생성 후 이동, slack #개발-전반 채널 깃 명령어 정리 참고, 브랜치명은 가능한 본인 영어이름 사용하기)

★언제나 작업 중인 branch를 확인하고 git 작업을 하도록 주의하자. git checkout "브랜치 이름" 을 통해 이미 생성된 brach로 이동할 수 있다.

★main branch에서 올릴 경우 다른 사람과 충돌할 수 있다. 물론 충돌 문제를 각자 알아서 해결할 수도 있지만 우리는 main에 merge하는 것은 목요일 회의 시간마다 다같이 main 브런치로 합치도록 하고, 그외 개인 개발 시간에는 본인 브랜치에서만 사용하자. (프로젝트 시작시 main 브랜치에서 pull하는 일 제외)

 

6. 내려받기

$ git  checkout main

$ git pull origin main 

(내가 현재 main에 올려둔 기초 작업 다운받기)

 

7. 본인 작업

개인 작업 하기

 

8. <본인 브랜치에서 작성한 코드 github에 업로드>
 git checkout "브랜치 이름" (해당 브랜치로 이동)
 git add .
 git commit -m "메세지"
git push origin "브랜치 이름" (github에 해당 브랜치로 업로드)

(처음에는 git push -u origin <브랜치명>를 하고 그 이후에는 git push origin <브랜치명>를 하지만 큰 차이는 없다고 한다.)

 

※ git에 업로드할 땐, 업로드되려는 파일에 초록빛이 들어온다. .gitignore파일이 잘 설정되어 있다면 db.split3과 myvenv에는 초록빛이 들어오지 않을테니 확인하기.

 

*참고자료

멋사 [가이드북] Git 협업.pdf
5.98MB

https://wikidocs.net/91422

 

3-05 첫 번째 Django프로젝트 시작하기

## Django 개발 환경 설정 먼저, 우리가 배울 `django` 라이브러리를 다운 받자. ``` $ pip install django ``` 조금만 기다리면 최…

wikidocs.net

위는 앱 생성시 터미널에서 현재 위치를 어느 폴더로 해줘야하나 확인할 때 참고함.

 

https://opentutorials.org/course/3666/24539

 

소스 제어 - 멋쟁이 사자처럼 at 한국교통대학교 7기

개요  GitHub에 푸시하기 전 확인해야 할 사항 및 Git 초기화 과정을 설명합니다. .gitignore  .gitignore는 파일 이름입니다. 이 파일은 Git 커밋 예외를 지정하기 위해 사용됩니다. 특정 파일 및 디렉터

opentutorials.org

https://cheon2308.tistory.com/entry/Django-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EB%B0%8F-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

 

[Django] 가상환경 및 시작하기

목차 1. 가상 환경이란? 2. gitignore 3. 가상 환경 시작 및 기본 설정 4. 폴더 구조 1. 가상 환경 파이썬을 사용하다 보면 pip로 패키지를 설치하게 되는데 이 패키지들은 파이썬 설치 폴더(디렉터리)의

cheon2308.tistory.com

https://somjang.tistory.com/entry/Git-gitignore-%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%98%EC%97%AC-%ED%95%84%EC%9A%94%EC%97%86%EB%8A%94-%ED%8C%8C%EC%9D%BC-%EC%A0%9C%EC%99%B8%ED%95%98%EA%B3%A0-%EC%97%85%EB%A1%9C%EB%93%9C%ED%95%98%EA%B8%B0

 

[Git] .gitignore 을 활용하여 필요없는 파일 제외하고 업로드하기

이전에 Git으로 여러사람들과 협업을 할때 프로젝트에 참여했던 모두가 venv 가상환경 파일들과 __pycache__파일들까지 모두 GitHub에 push를 하려고하니 다른 사람의 __pycache__ 와 push를 하려는 사람의 _

somjang.tistory.com

위는 깃이그노어 만들때 참고

https://korin-learning.tistory.com/139

 

Master 브랜치 대신에 Main 브랜치 사용하기

기본 브랜치가 Master에서 Main으로 변경되었습니다. 하지만 git 툴에서는 기본 브랜치가 아직 Master로 남아있는 경우가 많아서 이를 직접 설정해줘야 합니다. 기본 브랜치를 Main으로 설정하고 푸쉬

korin-learning.tistory.com

위는 master가 아닌 main브랜치에서 사용하는 이유에 대해 한두줄 간략하게 나와있음

https://potato-potahto.tistory.com/entry/GIT%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95

 

[GIT]파이썬 가상환경 설정 venv

파이썬 가상환경 프로젝트마다 특정 버전의 파이썬을 설치하거나 패키지를 따로 독립적으로 관리 가능 가상환경을 프로젝트별로 설정하면서 버전 충돌 방지 가능 특히 텐서플로우처럼 버전에

potato-potahto.tistory.com

위는 가상환경 관리