💡수업 목표💡
- 협업을 위한 작업 관리 스킬을 익힙니다- PR과 commit 되돌리기, 임시 저장
- 협업하기 좋은 사람이 되기 위해 기본 협업 매너를 익힙니다.
- Github 으로 다른 사람과 소통합니다 - 내 포트폴리오, 오픈소스
Git 프로젝트 관리 - .gitignore
: Project에 원하지 않는 Backup File이나 Log File , 혹은 컴파일 된 파일들을 Git에서 제외시킬수 있는 설정 File이다.
보안상 민감한 데이터를 담고 있는 파일이나 프로젝트와 관게없는 파일이거나 버전 관리를 할 필요가 없는 파일이나 디렉토리 등 git에 포함 시키기 싫은 경우가 있다. 특히 API키 등 보안이 필요한 정보는 gitHub 같은 원격 저장소에 업로드 되면 곤란한 일을 겪을 수 있기때문에 특히나 관리해야하기 때문에 사용하는 것이 .gitignore 파일이다.
(참고로, 나는 아무것도 모를 때.. github에 aws key가 노출되어 200만원 과금이 된적이 있었다… 그뒤로 한동안 무서움에 덜덜 떨면서 aws와 git을 멀리했다는….🥲)
.gitignore 파일 작성하기
프로젝트 최상위 driectory에 .gitignore 파일을 생성해준다.
. 파일은 숨김파일이므로 command + shift + . 을 입력하여 생성된 숨김파일을 확인후 내용을 작성한다.
파일 안에는 git에서 제외할 파일명을 작성하면 된다.
# : comments
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
git status 로 확인해보면 .gitignore에 작성한 파일이 더이상 git에 트랙킹되지 않는 것을 확인 할 수 있다.
실제 개발환경 처럼 .gitignore 셋팅하기
실제 개발에서는 어떤 프로그래밍 언어로 프로젝트를 하든 버전 관리를 할 필요가 없거나 하지 말아야하는 설정 파일이나 디렉토리가 생기기 마련이다.
gitignore.io 사이트에서는 그러한 프로그래밍 언어와 선택한 기술의 특성에 따른 설정파일을 .gitignore에 편히 적을 수 있게 도와준다.
Git 프로젝트 소개 - README.md
디렉터리나 압축에 포함된 파일에 대한 정보를 포함하고 있으며, 일반적으로 소프트웨어와 함께 배포
: 해당 파일은 소스코드에 앞서 어떠한 목적으로 개발이 되었는지, 코드의 개요, 파일 목록, 시스템 구조도 등을 처음 사람들에게 노출함으로써 해당 프로젝트에 대한 설명이 Markdown 형식으로 작성 문서
- README : 일반 정보
- AUTHORS : 제작 정보
- THANKS : 도와주신 분들에 대한 정보
- ChangeLog : 프로그래머들이 참고 할 수 있는 자세한 체인지 로그
- NEWS : 사용자들이 참고 할수 있는 기본적인 체인지 로그
- INSTALL : 설치 안내
- COPYING/LICENSE : 저작권 및 사용권 정보
- BUGS : 알려진 버그 및 새로운 버그 보고 방법 안내
마크다운 작성법
1. 제목 : #의 갯수를 통해서 <h1>~ <h6> 까지 표현
# h1 제목
## h2 부제목
### h3 소제목
2. 리스트
<!-- 번호가 없는 리스트 -->
* 목록
* 목록 1
- 다른 목록
- 다른 목록 1
+ 다른 목록 3
<!-- 번호가 있는 리스트 -->
1 첫 번째
2 두 번째
3 세 번째
4 여섯 번째
3. 기울어진 글씨
*텍스트*
_텍스트_
4. 굵은 글씨
** 텍스트 **
__ 텍스트 __
5. 인용
> 텍스트
6. 링크
<!-- 인라인 링크 -->
[텍스트](링크주소)
<!-- 참조링크 -->
[텍스트][참조명]
[참조명] : 링크주소
7. 이미지
![텍스트](이미지링크)
8. 수평선
<!-- -,*,-을 3개 이상씩 나열 -->
___
***
---
9. 코드
\\` 코드 내용 \\`
10 코드 블럭
<!-- 앞에 공배 4개 이상 삽입 -->
코드내용
README.md 템플릿 코드(https://github.com/ohahohah/readme-template)
<img src="https://user-images.githubusercontent.com/17819874/79853717-5db2f900-8403-11ea-99ba-ed0bb3cdb9ef.png" height="100"/>
# 프로젝트 이름
[![made-with-Markdown](https://img.shields.io/badge/Made%20with-Markdown-1f425f.svg)](http://commonmark.org)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/ohahohah/readme-template/graphs/commit-activity)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
> 프로젝트 간략 소개 한 문장
- 웹사이트 url / (챗봇일 경우)텔레그램 등 메신저 주소
- 사이트에 대한 1-2단락 설명
## 핵심 기능 Key Feature
- (예시) 실시간 지역별 날씨에 맞는 옷차림 정보를 알려줍니다.
- (예시) 미세먼지 정보를 파악할 수 있습니다.
## 사용 How To Use
- 사용하고 싶도록 유용한 몇 가지 예를 적습니다. 코드 블록과 스크린샷 포함.
- (wiki가 있을 경우) _더 많은 예시와 사용 예제는 [Wiki](wiki)를 참고하세요._
![](header.png)
## Contributing
*(프로젝트 기여자가 있을 경우 적습니다)*
- Thanks to @기여자이름
## Reference
*(참고 리소스, code snippet, 라이센스 정보를 표기합니다)*
- (예시) [네이버 지도 API](링크url) : 장소카드 지도화면에 사용
- (예시) [Teachable Machine](https://teachablemachine.withgoogle.com/) : 절하는 pose MachineLearning Model
## Links
*(사람이 읽기 쉽게 요약된 링크 정보를 추가합니다)*
- Project homepage: https://your.github.com/awesome-project/
- Repository: https://github.com/yourname/github-link
- Issue tracker: https://github.com/yourname/github-link/issues
- 보안 취약점 등의 민감한 이슈인 경우 yourcontact@email.com 로 연락주십시오.
- 관련 프로젝트
- 프로젝트 이름 : https://github.com/yourname/other-project/
- 프로젝트 이름: https://github.com/someones/awesome-project/
## License
*(공동작업자가 있을 경우 모두 적어줍니다)*
이름1 – [이메일 주소1](mailto:이메일주소@example.com)
이름2 - [이메일 주소2](mailto:이메일주소@example.com)
XYZ license를 준수합니다. ``LICENSE``에서 자세한 정보를 확인할 수 있습니다.
[https://github.com/yourname/github-link/LICENSE.md](https://github.com/ohahohah/)
나만의 GitHub page 만들기 (GitHub.io)
GitHub page는 GitHub에서 제공하는 무료 웹사이트 호스팅 서비스로서 자신의 repository에서 웹페이지를 구동할 수 있도록 해준다.
GitHub page 생성하기
Repository name은 반드시 <사용자이름>.github.io 또는 <조직이름>.github.io로 명명하고 README.md 파일과 라이센스를 설정하고 repository를 생성하면 된다.
프로젝트를 생성하면 자신만의 고유한 주소로 해당 페이지를 접속할 수 있다.
GitHub.io 페이지는 index.html 파일 혹은 README.md으로 페이지를 구성하는데
repo 생성시 README.md파일을 자동생성해서 해당 파일의 내용이 기본으로 출력된다.
https://[username].github.io
GitHub.io의 가장 이점은 나의 GitHub repo와 연결이 된다는 점인데 각 원격 repo의 about을 활용하면 프로젝트 페이지에서 볼 수 있다.
'스파르타코딩클럽 > Git' 카테고리의 다른 글
협업을 위한 GIT 개발일지 - 3주차 (3) Git 협업 가이드 (0) | 2022.09.16 |
---|---|
협업을 위한 GIT 개발일지 - 3주차 (2) Git Commit 심화 (0) | 2022.09.16 |
협업을 위한 GIT 개발일지 - 3주차 (1) PR(Pull Request) (0) | 2022.09.16 |
협업을 위한 GIT 개발일지 - 2주차 (2) Git Branch, Merge, conflict (0) | 2022.09.15 |
협업을 위한 GIT 개발일지 - 2주차 (1) GitHub issue 사용하기 (0) | 2022.09.15 |