Git Overview/ Linux Basic Command
Computer Science/OpenSource+Git

Git Overview/ Linux Basic Command

# Git이란?

: Open-Source distrbuted Version Control System(이하 VCS)이다.
-> 작거나 큰 프로젝트를 속도나 효율성 측면에서 managing하는 도구이다.
-> 수많은 소프트웨어의 소스코드가 깃을 통해 관리된다.

 

# Git vs Github

-Git : local 컴퓨터에서 실행되는 프로그램으로, source code history를 관리하는 VCS이다.
-Github : web에서 실행되고, 협업을 위한 온라인 Git repository를 호스팅하는 웹 서비스이다. 사용자 interface를 제공한다.

# Three Key Feature of Git

 순서대로 git의 key feature들을 이해해야 한다.

 

1) Version Control

- 매번 파일을 다르게 해서 새롭게 저장하는 것은 상당히 비효율적인 방법이다. 수정된 파일을 추가해나가면서 버전을 만들어 저장하는 것이 훤씰 효율적이다.
- 누가 문서를 수정했는지, 언제, 어떤 변화가 생겼는지 계속 추적할 수 있도록 돕는 것이 git이다.

2) Backup

: 컴퓨터가 고장날 가능성은 늘 존재하니, 수시로 데이터를 백업하는게 필요하다
- usb, hard drive등의 physical device로 백업하든, cloud 등으로 백업이 가능하다.
- Github을 사용하면 git file을 backup할 수 있다. 이는 git file들을 저장하는 remote repository이다.

3) Collaboration

- Github은 여러 사용자의 공동 작업을 허용한다. 에러가 발생했을때 누가 수정했는지 확인 가능하다.

두 사람이 편집한 내용이 충돌하면 경고 메세지를 출력한다.

# Git Programs

1) GitHub Desktop
- github에 의해 제공되며, 사용하고 배우기 쉽지만 git의 고급 기능을 사용하기 어렵다
2) Tortoise Git
- window-only 프로그램이며, context메뉴에서 사용가능하지만 다른 os에서 사용이 불가하다
3) SourceTree
- Git의 고급 기능까지 사용할 수 있는 프로그램이다. 많은 git function을 제공하지만, 오히려 사용이 어렵다는 단점이 있다.
4) CLI
- 직접 line by line으로 명령을 입력해야 한다. git을 빠르게 조작 가능하지만, GUI보다 사용이 어렵고 번거롭다.

# Basic Git command

# 현재 git repository에 같은 사용자 정보를 사용하게 해준다 
git config --global user.name "name" 
git config --global user.name "email" 

# Home Directory ~ 

# pwd(printing work directory) command 
pwd 

# listing command 
ls 

#detail information 함께 display 
ls -l 

#숨겨진 파일들도 함께 display 
ls -a 
ls -al 

#change directory command 
cd .. # 이전 디렉토리 
cd ~ # 홈 디렉토리로 이동 
cd Users #같은 폴더내의 subdirectory로 이동 

#디렉토리 생성 command 
mkdir test 

#파일 삭제 command 
rm -r test 

#vim 사용 command
vim test.txt 
#vim 내부 command :w #input& edit가능 :q #quit vim editor :wq #저장 &quit :q! #write(저장)없이 바로 quit esc #누르면 Input-Execution mode로 서로 switch가능하다,

 

'Computer Science > OpenSource+Git' 카테고리의 다른 글

Git Branch Command  (0) 2021.10.24
Git Version Control Command  (0) 2021.10.24
OSS Tools  (0) 2021.10.24
OSS Licenses  (0) 2021.10.23
Open Source Overview  (0) 2021.10.23