개발새발개발

Markdown CLI GIT 본문

개발새발개발

Markdown CLI GIT

birdsfoot 2024. 7. 12. 16:41
  • 오늘의 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 사용