Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 동적계획법
- python
- Prettier
- Snippet
- eslint
- 평범한배낭
- vscode
- javascript
- state
- component
- JSX
- ReactError
- props
- COPY
- jQuery
- 메모이제이션
- react자동완성
- dp
- 분할정복
- React
- react태그
- 다이나믹프로그래밍
- 백준
Archives
- Today
- Total
개발새발개발
Markdown CLI GIT 본문
- 오늘의 TIL : Markdown , CLI, GIT
Markdown
- 일반 텍스트로 문서를 작성하는 간단한 방법
- 주로 개발자들이 텍스트와 코드를 작성해 문서화하기 위해 사용
- 일반 텍스트와 달리 해당 프로그래밍 언어에 맞춰서 텍스트 스타일을 전환 가능함
- 제목이면 제목, 본문이면 본문, 표는 표 눈에 보이게 구분하기 위해 사용
- HTML의 M이 Markdown이다(확장자 : md)
- Markup보다 더 간단한 방법
- Markup : <제목> 제목입니다 </제목> <B>꾸준한 학습</B>
- Markdown : #제목입니다 **꾸준한 학습**
- VS code에서 기본적으로 Markdown을 지원함 : 우클릭 - open preview
Markdown 문법
- 제목 : # (#의 개수가 많을 수록 작은 제목, 스페이스 후 글자 입력)
- 줄바꿈 : 2칸 이상부터 한줄 띄기로 인식함
- 리스트 : 목록 표시용, 숫자 또는 - 로 사용, 스페이스 후 글자 입력
- 구분선 : --- 처럼 - 3개 이상 쓰기
- 코드 단락 : ```백틱```, 첫줄 백틱 다음에 사용하는 언어 작성해주기(python)
- 문장 내 코드 표현 : `백틱 하나`
- 링크 : [링크제목](URL) 제목에 URL 링크가 덮여쓰여짐
- 로컬 문서 링크 : [제목](경로) ex) [CLI 문서](./cli.md)
- 이미지 : ![이미지](URL, 경로)
- 랜덤하게 이미지 주소를 주는 사이트 : https://picsum.photos ex)https://picsum.photos/200/300(뒤는 사진크기)
- 이미지 너비와 높이는 마크다운 내에서 조절이 어려움
- **굵게**
- *기울임*
- ~~취소선~~
- > 인용문
- >> 내부 인용문
- 더 자세한 문법 : https://www.markdownguide.org/ - basic syntax
- 마크다운을 도와주는 에디터 : MarkText, Markdown All in One(VScode 확장프로그램)
CLI
- CLI : Command ling interface
- GUI : Graphic User Interface
- CLI 장점
1) 효율성
- 저사양 시스템에서 운용 가능 : 메모리와 CPU사용량이 적음
2) 정밀한 제어
- 컴퓨터에게 보다 자세한 명령을 지시할 수 있음
3) 표준성
- 대부분의 Unix 운영체제 기반 시스템에서 동일하게 작동함 - '.'(점)의 역할
. :현재 디렉토리
..:현재의 상위 디렉토리 - 터미널 창 출력된 내용 지우는 키 : Ctrl+L
- 빈파일 만들기 : touch test.txt (공백으로 구분하여 여러개의 파일 생성 가능)
- 폴더 만들기 : mkdir
- 현재 터미널이 열려있는 위치 바꾸기 : cd 위치 (samples/samples/)
- 현재 위치에서 부모폴더로 이동 : cd ..
- 파일 삭제 : rm
- 폴더 삭제 : rm -r
- 삭제한건 못살리니 주의
- 특정 확장자 삭제 : rm *.txt
- 폴더 열기 : start .
- 명령어 + --help 관련된거 물어볼 수 있음
# CLI 명령어
## touch
- 빈 파일 생성하는 명령어
```sh
$ touch README.md
$ touch a.txt b.txt. c.txt
$ touch ../parent.txt
$ touch ./sub-folder/child.txt
```
## mkdir
- 폴더(디렉토리)를 생성
```sh
$ mkdir folder-name
$ mkdir ./folder-name/sub-folder
```
## ls
- 현재 폴더에 존재하는 파일/폴더들의 목록을 출력
```sh
$ ls
$ ls .. #부모 폴더 출력
$ ls /c/temp #절대 경로로 표현
$ ls -a #숨김 파일 보여주는 코드
#파일 명이 .으로 시작하면 히든 파일
```
## rm
- 파일/폴더를 삭제
- 특히 폴더를 삭제 할때는 `-r` 옵션을 적용
```sh
$ rm file-name
$ rm -r folder-name
```
## cd
- 현재 폴더의 위치를 변경
```sh
$ cd <목표 위치>
#상대 경로 - 현재 폴더를 기준으로 지정
$ cd ./samples/test
#절대 경로 - 루트 폴더를 기준으로 표현
$ cd /c/temp/samples
```
## 경로에서 `~`
- 경로 표현에서 `~` 은 **홈 디렉토리**를 의미함
- `$ pwd` 현재 폴더의 절대 경로를 보여줌
GIT
- GIT : 분산 버전 관리 시스템
- 버전 관리 시스템 : 변경 사항만 저장하기 때문에 적은 데이터로 변경 이력을 저장할 수 있음
- Google Docs : [파일] - [버전기록]에서 글 작성한 것들 확인하고 이전 작성으로 돌릴 수 있음
- 중앙 집중식 : 버전은 중앙 서버에 저장되고 중앙 서버에서 파일을 가져와 다시 중앙에 업로드
분산식 : 버전을 여러 개의 복제된 저장소에 저장 및 관리 - local : 사용자가 접속하고 있는 기기 또는 시스템
- 분산식의 장점
- 동시에 다양한 작업 수행 가능
- 개발자들 간의 충돌 줄여줌
- 인터넷에 연결 안되도 작업 가능
- 중앙 서버에 문제가 생겼을 때 백업과 복구 용이 - GIT의 역할
- 코드의 버전(히스토리) 관리
- 개발되어 온 과정 파악
- 이전 버전과의 변경 사항 비교
- 협업을 원활하게 해줌 - GIT의 영역(3개를 합쳐 로컬저장소라고 함)
- Working Directory : 작업중인 파일이 위치한 공간
- Staging Area : 중간 준비 영역 변경된 파일 중 다음 버전에 포함시킬 파일들을 선택적으로 추가하거나 제외함
- Repository : 버전(Commit) 이력과 파일들을 영구적으로 저장하는 영역 - Commit : 변경된 파일을 저장하는 행위 = snapshot
- 터미널 창 내용 지우기 : Ctrl+L
- git init : 로컬 저장소 초기화 설정 명령어(저장소 만드는 것)
터미널 창에 입력하면 링크 끝에 (master) 가 뜸. 시작한 폴더 내에서만 git으로 관리가 가능함
※GIT의 버전 관리를 시작할 폴더 위치에서 시행해야 함.
※ git 로컬 저장소 내에 또다른 git 로컬 저장소를 만들면 안됨 (.git 내에서 git init 을 또 하면 안됨)
※ 홈 디렉토리에서 git init 하지 말 것 (다양한 설정 파일이 저장되는 곳이므로) - git add : 변경사항이 있는 파일을 staging area에 추가(등록하는 것)
gid add . : 현재(.) 디렉토리 아래 변경된 파일을 모두 등록하는 것 - git commit : staging area에 있는 파일들을 Repository에 저장 (현재 시점의 버전을 생성하고 변경 이력을 남김)
- rm- rf .git : 깃 삭제 (-r : 폴더 삭제, f : 삭제여부 되묻기 없이 바로 삭제) 변경이력까지 모두 삭제되니 주의
- git status : working directiory 와 staging area의 상태를 확인하는 코드
- No commits yet #커밋이 안됐다
Untracked files: #한번도 커밋이 안된 파일
(use "git add <file>..." to include in what will be committed) #이 문서를 찾았는데 등록이 안되있다
sample.txt
nothing added to commit but untracked files present (use "git add" to track) #등록해라 - git commit -m'커밋이름' #파일명을 붙여 변경 이력을 남김
처음 커밋을 하면 root-commit 이라는 표시가 뜸 - git config 이름과 이메일을 남김. 여러명이 사용할 경우 혼동될 수 있으므로 사용자 이름 기록
- notepad ~/.gitconfig : 사용자의 정보가 담긴 메모장이 생김
- -m : 메시지를 남기겠다는 뜻
- git log : 현재 버전(커밋) 정보 확인
- git log --oneline : 한 줄로 요약해서 보여줌
- $ git log --oneline
6826cc5 (HEAD -> master) second commit
907f805 first commit
앞의 7글자는 커밋의 ID(식별값) - commit 메시지 수정
git commit --amend : 가장 마지막 커밋의 메시지를 수정
그럼 아래 이미지가 뜸(VIM) - i 눌러서 INSERT 모드로 변경 - 수정하기
ESC 누르면 명령모드로 바뀜 - ":" 누르면 명령창 활성화 - wq (저장 후 종료) 입력해서 나가기
- 전체 commit 수정하기
staging area 에 덧붙일 파일을 add 한 뒤 git commit --amend 사용
'개발새발개발' 카테고리의 다른 글
모듈, 제어문(반복문, 조건문), List comprehension, enumerate (6) | 2024.07.24 |
---|---|
float 소수점 설정, 문자열 슬라이싱, 깊은 복사와 얕은 복사 (5) | 2024.07.23 |
파이썬 기초(연산자, 진수, 변수, 데이터 타입, 시퀀스 타입, 스타일 가이드) (0) | 2024.07.18 |
리스트, 튜플, Range, dict, set, bool, None, 연산자, 형변환, 단축평가 (1) | 2024.07.18 |
GIT 원격저장소 gitignore Git revert reset (0) | 2024.07.15 |