## 커리큘럼
```
01. HTML,CSS  
02. git (v)
03. Java (v)
04. Database
05. Jsp
06. 미니프로젝트

07. SpringFramework
08. SrpingBoot
09. React JS
10. 중간프로젝트

11. Linux 명령어
12. AWS 클라우드
13. Kotlin
14. Andriod
15. 최종프로젝트
```
---

# Git Collaborate
+ Git Fork와 형식은 비슷
+ GIthub Repository내 설정창안의 Collaborate 항목에서 협업할 동료의 github아이디를 추가하고 진행
+ Fork와 다른점은 Fork는 Repository를 생성한 master브랜치에서만 pull request를 수락하였지만 collaborate에서는 다른 브랜치 생성자들도 pull request를 수락할 수 있음.
+ 다른 사용자들도 master브랜치에 접속하여 자신의 브랜치를 merge할 수 있고 다른 팀원들이 merge한 내용도 자신의 브랜치에 master의 내용을 pull하여 전체적인 파일을 얻을 수 있음.

# git ignore
+ Git이 추적하지 않도록 특정 파일이나 디렉토리를 지정하는 데 사용

## .gitignore 파일
+ 프로젝트 디렉토리 내에서 Git에게 추적하지 말아야 할 파일이나 디렉토리 패턴을 지정하는 파일입니다. 이 파일은 텍스트 파일이며, 각 줄에 제외할 파일이나 폴더의 패턴을 나열합니다.

# git stash
 : 로컬 저장소에서 하던 일 잠시 되돌리기

+ 아직 마무리하지 않은 작업을 안전하게 임시 저장할 수 있도록 하는 명령어
+ 불필요한 commit을 피할 수 있다. 
+ 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내 마무리할 수 있다.
+ pull 명령시 comflict가 날 때 유용하게 사용하는 명령

## `stash 명령어`
```
git stash                   : 하던 작업 임시로 되돌리기
git stash list              : stash목록 확인
git stash apply [stash이름] : stash 적용(하던 작업 다시 가져오기)
git stash drop [stash이름]  : stash 제거
git stash clear             : stash 전부 제거하기
```

# git rebase
 : branch의 base가 되는 최신 커밋으로 base를 맞추는 작업
```
    git checkout master
    git rabase [브랜치명]
```

```
  [초기상황]
  A---B---C (master)
       \
        D---E (feature)

  [Commit 추가]
  A---B---C---F (master)
       \
        D---E (feature)

  [rebase 적용]
  A---B---C---F (master)
               \
                D'---E' (feature)
```
