장고:Git: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
 
(사용자 2명의 중간 판 23개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{장고}}
{{장고}}


==개요==
=개요=
문제가 생겼을 때 등.. 버전관리 시스템을 이용하여 이전버전으로 돌려야 하는 상황이 자주 발생한다. 그 관리시스템 중 가장 유명한 것이 Git. 깃.
문제가 생겼을 때 등.. 버전관리 시스템을 이용하여 이전버전으로 돌려야 하는 상황이 자주 발생한다. 그 관리시스템 중 가장 유명한 것이 Git. 깃.


==설치==
여기에선 깃에 올리는 것까지 다루고, 내려받은 이후의 이용은 각자의 문서에 올려두었으니 참고하자.
검색해서 알아서;;<br />


==사용==
===주요사용===
 
#개발을 진행할 때 특정 기능을 구현했더니 중요한 다른 기능이 되지 않는 경우도 있다. 이럴 땐 다시 되돌려야 한다. 이를 위한 버전관리를 지원.
#실제 서비스 기능 외에, 개발을 위한 브랜치(가지)버전을 만들어 따로 개발한 후 완성된 후 merge를 통해 개발내용을 서비스 기능과 합칠 수 있다.
#팀 작업을 할 때 누가 어떤 작업을 했는지 파악할 수 있다.
 
==설치 및 사용==
다음 링크를 참조하자. [[깃:기본 사용]]
 
=사전준비=
프로젝트에서 깃을 이용하기 전에 처리해야 할 문제가 있다.
 
<br />
 
===.gitignore에 추가===
{| class="wikitable"
{| class="wikitable"
|+
!과정
!방법
!설명
|-
|저장소만들기
|가상환경 내에서, 프로젝트 디렉토리에서.
git init
|프로젝트/.git/ 디렉터리가 생성된다.
|-
|-
|.gitignore작성
|.gitignore작성
|텍스트 파일 안에 git으로 관리하지 않을 디렉터리, 파일명을 한 줄씩 써 넣는다.
|공유하지 않아도 되는 개발환경의 로그라든가, 가상환경이라든가 깃에 추가하지 않아도 될 것들이 있다.
혹은 올리지 말아야 할 것들이라든가. 이것들을 관리한다.
 
텍스트 파일 안에 git으로 관리하지 않을 디렉터리, 파일명을 한 줄씩 써 넣는다. DB도 배제했는데, DB도 함께 올릴거라면 빼준다.(db.sqlite3)
 
__pycache__: 해당 환경에서 사용한 캐시파일.
 
venv/: 가상환경.(사용자마다 파일명이 다를 수 있음.)
 
log: 해당 환경에서의 로그.
 
media/ : 미디어 파일은 git의 대상이 되지 않아야 한다.
 
migrations : DB수정파일. 굳이 개발컴퓨터와 서버가 동일할 이유가 없다. migrations/ 만 입력해주는데, 그렇게 해주어도 앱 하위의 폴더까지 추가된다.
 
 
다음 링크에서 편하게 만들 수 있다. https://www.toptal.com/developers/gitignore
|.idea
|.idea
db.sqlite3
db.sqlite3


31번째 줄: 50번째 줄:
logs
logs


위처럼 그냥 한 줄씩.
venv/
|-
|추가하기(저장)
|프로젝트 디렉터리에서


git add -all .
media/
|현재 디렉터리 하위의 모든 파일들을 깃에 추가.
|-
|코멘트 달기
|git commit -m "코멘트"
|그냥 수행하면 이메일주소, 사용자명을 입력하라고 뜨니..
git config --global user.email "이메일주소"


git config --global user.name "이름"
위처럼 그냥 한 줄씩.
|}.gitignore에 <code>config/secret.py</code>를 추가한다.


을 써 넣자.
<br />
|-
|저장(한번에)
|git commit -a
| -a 옵션을 추가하면 git add를 하고 commit를 한다는 의미.
|-
|수정.
어떤 것이 바뀌었나?
|git diff
|변경된 부분을 알려준다.
다만, 한글부분이 깨질 때가 있는데, 그땐


set LC_ALL=C.UTF-8 을 프롬프트에 입력한다.
=깃허브=
|}
 
==깃허브==
깃을 저장하는 가장 유명한 전략. MS에서 운영하며, 무료로 사용하더라도 공개방식을 취하면 제약이 전혀 없다.
깃을 저장하는 가장 유명한 전략. MS에서 운영하며, 무료로 사용하더라도 공개방식을 취하면 제약이 전혀 없다.


83번째 줄: 81번째 줄:
이후 저장이 잘 되었는지 확인해보자.
이후 저장이 잘 되었는지 확인해보자.
|}
|}
===가져오기===
git pull로 가져온다. 그러나, 두 사용자가 파일을 각각 변경시켰다면, 내용에서 충돌이 발생한다. 때문에 각각의 콘솔에서 git commit와 push를 해주지 않으면 해당 프로젝트를 삭제하고 다시 clone해서 가져오는 방식을 택한다.


==앞으로의 사용==
==앞으로의 사용==
100번째 줄: 101번째 줄:
|}
|}


=== 유의 ===
===유의===
파일이 늘어나면 <code>git add -all .</code> 로 디렉터리를 추가해주어야 한다.(개고생했네;)
 
*파일이 늘어나면 <code>git add --all .</code> 로 디렉터리를 추가해주어야 한다.(개고생했네;)
*배포중인 경우, 서버를 재시작해주어야 변경내용이 적용된다.(개고생했네..)
*21년 8월부터 비밀번호 대신 토큰을 입력한다. 기존 사용과 같이 하되, 비밀번호만 토큰으로 입력하면 된다.

2022년 6월 27일 (월) 11:33 기준 최신판

장고! 웹 프레임워크! 틀:장고

  1. 장고:개요
  2. 장고:웹페이지설계
    1. 장고:앱
    2. 장고:url
    3. 장고:model
      1. 장고:DB
      2. 장고:모델 필드
      3. 장고:모델의 변경
    4. 장고:view
      1. 장고:클래스형 뷰, 제네릭 뷰
      2. 장고:view 각종 기능
    5. 장고:template
    6. 장고:static. 정적파일 사용하기
      1. 장고:CSS 사용하기
      2. 장고:JS 사용하기
      3. 장고:글꼴 사용
      4. 장고:부트스트랩
    7. 장고:media. 미디어 파일 사용하기
  3. 장고:관리자페이지
  4. 장고:settings.py
  5. 장고:기능구현
    1. 장고:회원관리
    2. 장고:유저
    3. 장고:커스텀 유저
    4. 장고:소셜로그인
    5. 장고:입력받기
    6. 장고:저장된 내용 활용하기
    7. 장고:변수 내보내기
    8. 장고:글쓰기
    9. 장고:페이징(페이지나누기)
    10. 장고:답변쓰기(댓글쓰기)
    11. 장고:추천,즐겨찾기
    12. 장고:새글(최신글) 나타내기
    13. 장고:썸머노트 설치
    14. 장고:네비게이션 바 만들기
    15. 장고:검색기능
    16. 장고:카테고리 만들기
    17. 장고:사진 올리기
    18. 장고:파일 업로드
    19. 장고:이메일app 만들기
    20. 장고:매직 그리드
  6. 장고:웹서비스
    1. 장고:Git
    2. 장고:리눅스에 올리기
    3. 장고:우분투에 올리기(nginx 사용)
    4. 장고:도커로 올리기
  7. 장고:팁

개요[편집 | 원본 편집]

문제가 생겼을 때 등.. 버전관리 시스템을 이용하여 이전버전으로 돌려야 하는 상황이 자주 발생한다. 그 관리시스템 중 가장 유명한 것이 Git. 깃.

여기에선 깃에 올리는 것까지 다루고, 내려받은 이후의 이용은 각자의 문서에 올려두었으니 참고하자.

주요사용[편집 | 원본 편집]

  1. 개발을 진행할 때 특정 기능을 구현했더니 중요한 다른 기능이 되지 않는 경우도 있다. 이럴 땐 다시 되돌려야 한다. 이를 위한 버전관리를 지원.
  2. 실제 서비스 기능 외에, 개발을 위한 브랜치(가지)버전을 만들어 따로 개발한 후 완성된 후 merge를 통해 개발내용을 서비스 기능과 합칠 수 있다.
  3. 팀 작업을 할 때 누가 어떤 작업을 했는지 파악할 수 있다.

설치 및 사용[편집 | 원본 편집]

다음 링크를 참조하자. 깃:기본 사용

사전준비[편집 | 원본 편집]

프로젝트에서 깃을 이용하기 전에 처리해야 할 문제가 있다.


.gitignore에 추가[편집 | 원본 편집]

.gitignore작성 공유하지 않아도 되는 개발환경의 로그라든가, 가상환경이라든가 깃에 추가하지 않아도 될 것들이 있다.

혹은 올리지 말아야 할 것들이라든가. 이것들을 관리한다.

텍스트 파일 안에 git으로 관리하지 않을 디렉터리, 파일명을 한 줄씩 써 넣는다. DB도 배제했는데, DB도 함께 올릴거라면 빼준다.(db.sqlite3)

__pycache__: 해당 환경에서 사용한 캐시파일.

venv/: 가상환경.(사용자마다 파일명이 다를 수 있음.)

log: 해당 환경에서의 로그.

media/ : 미디어 파일은 git의 대상이 되지 않아야 한다.

migrations : DB수정파일. 굳이 개발컴퓨터와 서버가 동일할 이유가 없다. migrations/ 만 입력해주는데, 그렇게 해주어도 앱 하위의 폴더까지 추가된다.


다음 링크에서 편하게 만들 수 있다. https://www.toptal.com/developers/gitignore

.idea

db.sqlite3

*.pyc

__pycache__

logs

venv/

media/

위처럼 그냥 한 줄씩.

.gitignore에 config/secret.py를 추가한다.


깃허브[편집 | 원본 편집]

깃을 저장하는 가장 유명한 전략. MS에서 운영하며, 무료로 사용하더라도 공개방식을 취하면 제약이 전혀 없다.

사용[편집 | 원본 편집]

가입하고 나면 원격지 저장소의 url을 확인할 수 있다.

과정 방법 설명
원격저장소 연결 프로젝트 디렉터리에서

git remote add origin https://원격저장소주소

저장 git push 아이디와 비밀번호를 묻는데, 알아서 기입하면 됨.

이게 귀찮으면 git config credential.helper store 을 주면 인증절차 생략이 가능하다.

이후 저장이 잘 되었는지 확인해보자.

가져오기[편집 | 원본 편집]

git pull로 가져온다. 그러나, 두 사용자가 파일을 각각 변경시켰다면, 내용에서 충돌이 발생한다. 때문에 각각의 콘솔에서 git commit와 push를 해주지 않으면 해당 프로젝트를 삭제하고 다시 clone해서 가져오는 방식을 택한다.

앞으로의 사용[편집 | 원본 편집]

등록이 다 끝났다면... 앞으로 내용이 바뀔 때마다 간단하게 저장을 할 수 있다.

과정 방법 설명
저장(한번에) git commit -a -m "변경사항요약" -a 옵션을 추가하면 git add를 하고 commit를 한다는 의미.
저장 git push 깃허브로 보낸다.

유의[편집 | 원본 편집]

  • 파일이 늘어나면 git add --all . 로 디렉터리를 추가해주어야 한다.(개고생했네;)
  • 배포중인 경우, 서버를 재시작해주어야 변경내용이 적용된다.(개고생했네..)
  • 21년 8월부터 비밀번호 대신 토큰을 입력한다. 기존 사용과 같이 하되, 비밀번호만 토큰으로 입력하면 된다.