단계별 설명
원하는 프로젝트를 깃에 올리고 싶다.
이 때, 오픈소스 처리를 하면 안되는 것들이 있을테니, gitignore를 먼저 만들어주자.
프로젝트의 최상단, manage.py가 있는 곳에
.gitignore
를 만들어준다.
- 자, 이 안에 소스코드를 넣을 것인데,
www.gitignore.io
에 들어간다.
- 검색창에
Django
를 검색한다.
- 나오는 결과는 Django 쓰는 사람들이 이거는 안올려도 되겠다 하는 것들을 모아둔것이다.
- 내가 원하는 것들만 복사해서 넣어준다!
- 자, 이번에는 내가 사용하는 git version을 확인하자!
$ git --version
git version 2.17.2 (Apple Git-113)
- 처음으로 쳐야되는 명령어를 쳐주자!
$ git init
자 그러면 비어있는 저장소를 만들어 줬다!
그 다음, 이 깃의 상태를 보기 위해,
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
firstproject/
manage.py
wordcount/
nothing added to commit but untracked files present (use "git add" to track)
아직 아무것도 커밋하지 않은 상태라 이렇게 뜬다.
그리고 밑에 이런 것들을 커밋할 수 있다고 목록이 뜬다.
이 중 db.sqlite3 는 ignore 하겠다고 했기 때문에 커밋 대상으로 뜨지 않았다.
이제 Staging area로 넘기기 위해 다음의 명령어를 친다!
$ git add .
이제 커밋하자!
$ git commit -m "first commit of wordcount proj"
커밋할 때는 그 커밋한 대상에 대해 꼬리표를 달 수 있는데 "" 안에 담긴 내용이 그것이다!
*** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: unable to auto-detect email address (got 'Choiwansik@WansookcBookPro.(none)')
그러면 이렇게 뜰텐데, 이건 git하기 전에 내가 누구인지 밝히라는 의미이다.
위에 뜬 명령어를 그대로 치는데, 이메일에 내가 사용할 이메일을 적어주면 된다.
```bash
git config --global user.email "wansook0316@gmail.com"
git config --global user.name "wansook"
```
이렇게 하고 다시 커밋을 해보자!
```bash
$ git commit -m "first commit of wordcount proj"
```
```bash
[master (root-commit) e99689f] first commit of wordcount proj
16 files changed, 255 insertions(+)
create mode 100644 .gitignore
create mode 100644 firstproject/__init__.py
create mode 100644 firstproject/settings.py
create mode 100644 firstproject/urls.py
create mode 100644 firstproject/wsgi.py
create mode 100755 manage.py
create mode 100644 wordcount/__init__.py
create mode 100644 wordcount/admin.py
create mode 100644 wordcount/apps.py
create mode 100644 wordcount/migrations/__init__.py
create mode 100644 wordcount/models.py
create mode 100644 wordcount/templates/about.html
create mode 100644 wordcount/templates/home.html
create mode 100644 wordcount/templates/result.html
create mode 100644 wordcount/tests.py
create mode 100644 wordcount/views.py
```
커밋이 되었다!
다시 상태확인해보자!
$ git status
On branch master nothing to commit, working tree clean
근데 내가 다른 파일을 변경한다음에 이녀석을 치게되면
수정사항이 있다고 얘기해주고 다시 커밋하라고 얘기해준다.
- 자, 여기까지하면 우리는 로컬 저장소에 파일을 커밋한 상태이다.
- 근데 이걸 우리는 웹상에 있는 github에 올리고 싶다!
- 이 때 사용하는 것이 push!
GitHub 사이트에 들어가서 우리는 저장소를 만들어줘야한다!
new 버튼을 누르고, 이름 설정뒤 public으로 만들어 준다.
여기서 repository는 최상단 폴더이름, 즉 프로젝트 이름으로 해주는 것이 좋다.
생성던 repository에 들어가면 다음과 같이 뜬다.
여기서 지금은 위에 했던 명령어중 commit 까지 진행한 상태이다.
여기서 아직 하지 않은 밑의 두 명령어를 복사해서 쳐주자.
- 첫번째 명령어는 우리가 만든 로컬 저장소와 원격저장소를 연결해주는 의미이다.
- 그리고 이 연결된 상태에 push를 해주자!
- 그러면 github에 로그인 하라는 창이 뜰텐데, 로그인을 해주자.
- 그러면 잘 됐다는 메시지가 뜰 것이다!
- github에 들어가서 확인해보면!
- 잘 들어와있다!
- 아까 ignore하라는 내용은 firstproject에 안들어와있는 걸 확인할 수 있다!
- commit 한 내용은 code/commit에 들어가면 수정사항에 대해 확인할 수 있다!