STEP 1 Git Bash
CLI 기본 명령어
pwd | 현재 디렉토리 보여주기 |
cd ai-bootcamp/Section3 | change directory(원하는 디렉토리로 이동) |
cd .. | 한 단계 상위 디렉토리로 이동 |
cd / | 최상위 디렉토리로 이동 |
cd ~ | 홈 디렉토리로 이동 |
mkdir ai-practice | 현재 디렉토리 위치에서 새로운 디렉토리 생성 |
ls | 현재 디렉토리 위치한 파일들 확인. |
ls -l | 현재 디렉토리 위치한 파일들 상세정보 확인. |
ls -a | 현재 디렉토리 위치한 숨겨진 파일정보 포함 확인. |
ls -al | -l, -a 두개 다 합친 기능. |
Github Repository 와 로컬 연결하기
방법 1. 깃헙 레포 복제
$ git clone https://github.com/{유저이름}/ds-sa-simple-git-flow.git
$ cd ds-sa-simple-git-flow
방법 2. 로컬에서 기존 작업하고 있던 깃과 깃헙의 레포와 연결
$ cd ds-sa-simple-git-flow
$ git remote add origin https://github.com/{유저이름}/ds-sa-simple-git-flow.git
Code Editor 연결해서 작업 시작.
$ code ./
STEP 2 VS code
$ git remote -v (현재 연결되어 있는 원격 레파지토리를 확인)
origin https://github.com/limhm4907/ds-sa-simple-git-flow.git (fetch)
origin https://github.com/limhm4907/ds-sa-simple-git-flow.git (push)
$ conda env remove --name s1n1
$ conda remove --name s1n1 --all
$ conda deactivate
$ conda env list (이거 결과를 txt 로 저장하려면 오른쪽 그대로 붙여넣기: > result.txt)
$ conda list (가상환경에 설치되어 있는 라이브러리 확인)
$ conda create --name s1n1 python=3.8
$ conda activate s1n1
$ cd ai-bootcamp/Section3/ds-sa-simple-git-flow
$ pip install -r requirements.txt
$ pip freeze > requirements.txt
가상환경을 쓰는 가장 큰 이유라고도 할 수 있는 라이브러리(패키지) 관리이다. 가상환경에 설치된 패키지들은 목록으로 저장해두었다가, 언제 어디서든 다시 설치하여 동일한 환경으로 만들 수 있다.
가상환경을 활성화 시킨 상태에서 위 명령어를 통해 패키지의 목록과 버전 정보들을 requirements.txt 파일에 저장한다. 특히 git 등으로 버전 관리를 할때 이 requirements.txt파일만 관리를 해주면 된다. git의 오픈소스나 프로젝트들을 염탐하다보면 이 파일을 종종 볼 수 있다.
$ pip uninstall -r requirements.txt (one by one) : requirements.txt 목록에 해당하는 패키지들을 삭제한다.
$ pip uninstall -r requirements.txt -y (at once) : 한번에 삭제
$ python -m pytest --submit
$ python -m pytest --score
--------------------
브랜치 리스트 확인 방법
$ git branch : 로컬 저장소 branch 리스트를 보여줌 (*표시 붙어있는게 현재 checkout해서 작업중인 브랜치임.)
$ git branch -r : 원격 저장소의 branch 리스트 확인
$ git branch -a : 로컬, 원격 모든 저장소의 branch 리스트 확인
$ git branch -v : 커밋 메세지도 함께 보여준다.
$ git branch --merged : merge된 branch 리스트만 확인
원격 저장소의 브랜치 가져오기
$ git checkout -t origin/git-merge
: 로컬의 동일한 이름의 branch를 생성하면서 해당 branch로 checkout을 한다.
$ git checkout -b chance origin/git-merge ($ git checkout -b [변경할 branch 이름] [원격 저장소의 branch 이름])
: branch 이름을 chance 라고 변경하여 가져오기
브랜치 생성, 브랜치 이동
$ git branch aaa : branch 생성 (브랜치명 aaa)
$ git checkout aaa : branch 이동 (aaa로)
Switched to branch 'aaa'
브랜치 병합
(aaa에 chance를 병합한다면, aaa으로 checkout된 상태에서 git merge 실행)
ㄴ오류 발생 (1)
$ git merge chance
fatal: refusing to merge unrelated histories
ㄴ 오류 발생 (2) '--allow-unrelated-histories' 문구와 함께 merge 실행했더니 또 오류 발생
$ git merge --allow-unrelated-histories git-merge
Auto-merging .report.json
CONFLICT (add/add): Merge conflict in .report.json
Auto-merging src/Part_1.py
CONFLICT (add/add): Merge conflict in src/Part_1.py
Auto-merging src/Part_2.py
CONFLICT (add/add): Merge conflict in src/Part_2.py
Auto-merging src/Part_3.py
CONFLICT (add/add): Merge conflict in src/Part_3.py
Automatic merge failed; fix conflicts and then commit the result.
ㄴ 해당 파일들의 수정사항 충돌된 부분 직접 보고 결정해준 뒤 add -> commit 진행
--------------------
$ git add .
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: .report.json
new file: result.txt
modified: src/Part_1.py
modified: src/Part_2.py
modified: src/Part_3.py
$ git commit -m "Part3 commit"
$ git push origin main
$ git push origin git-branch (새로 생성한 브랜치 푸시할때)
$ git remote remove origin (연결된 기존 리포 연결해제)
[참고자료]
'코드스테이츠 AI 부트캠프 > Section 3' 카테고리의 다른 글
AIB_321_복습정리 : 디버깅, 함수, 클래스, 데코레이터, 파이썬 기본문법 (0) | 2021.12.27 |
---|---|
[비공개] AIB_314_복습정리 : DB API (0) | 2021.12.27 |
AIB_313_복습정리 : 트랜잭션 (0) | 2021.12.27 |
AIB_312_복습정리 : SQL (0) | 2021.12.27 |