[Git] Basic
CLI
Command Line Interface
- 유닉스 shell (sh, zsh, bash 등)
- CP/M
- DOS의 command.com
- cmd(window 전용)
bash
Git의 GUI로 Git bash가 있습니다.
git bash로bash
shell terminal 사용 가능해집니다.
명령어
- ls : 현재 디렉토리의 내용들을 나열
- cd : 현재 작업하는 디렉토리를 변경
- mkdir : 새로운 디렉토리 생성
- echo : 문자열 출력
- rm : 파일 지우기
- exit : 터미널 종료
- touch : 파일 생성
CLI
에서는 항상 자신이 어디에 있는지 주의하는 습관이 필요합니다.
git 초기 설정해주기
git config --global user.name "GitHub name"
git config --global user.email "Github email"
git config --list
빈 폴더에서 git init 하면 해당 폴더가 새로운 repository가 됩니다.
아직 branch나 이런 설정 안된 상태입니다.
init을 한 git 원격 repository 아래에서는 init을 하면 절대 안됩니다!!
github 사이트에서 new repository로 생성하고 site url을 받아와서 git bash에서 5번을 진행합니다.
git remote add origin url 을 입력하면 terminal에서 현재 위치인 폴더(새로 init했던)와 원격 저장소가 연결됩니다.
git branch로 확인하면 master branch도 생성되있는 걸 볼 수 있습니다.
git push -u origin master (처음 push 할 때는 -u를 붙여줍니다.)
4,5,6 대신 git clone 주소로 복제하는 방법도 있습니다.
이 경우 git id로 로그인하게 되고 remote repository로 부터 master branch로 해당 repository가 복제되서 옵니다.
git add .
git commit -m "커밋내용"
git push -u origin master
git branch -a
git branch new master
git checkout new
git checkout master
git clone 해서 오면 기본적으로 마스터 브랜치가 생성됩니다.
새로운 브랜치를 만들면 로컬 브랜치가 됩니다.
add, commit 하기 전에는 두 브랜치는 동기화가 되있는 것처럼 보이고
한쪽에서 add, commit 을 진행하게 되면 다른 브랜치에서는 더이상 보이지 않습니다.
브랜치에 대한 자세한 내용은 이곳 을 참고하세요.
설정했던 git config는 아래 두 명령어로 삭제합니다.
- git config --unset --global user.name "git name"
- git config --unset --global user.email "git email"
- 단, config를 지우면 commit과 push가 안됩니다.
기타 git 내용
커밋하기
git add filename
git commit -m "메세지"
커밋내역 확인하기
git log : commit 내용들 확인
git log --pretty=oneline : commit 내용들 간단히 확인.
특정 형식의 파일을 커밋에서 제외하기
.gitignore 파일을 만들어 확장자를 적어두면 해당 파일을 git에서 관리하지 않습니다.
gitignore.io 사이트에서 특정 언어/프레임워크나 파일 형식을 검색해서 나오는 내용을 gitignore에 입력하면 해당 형식의 파일들을 git에서 더이상 관리하지 않게 되니 활용하시면 좋습니다.
원격 저장소 연결 끊기
git remote rm origin
git remote -v 로 연결상태 확인가능.
git 사이트에서 설정 바꿀 때 / 삭제하고 다른데 다시 연결할 때 연결 끊고 설정하고 다시 연결합니다.
ex. repository를 public으로 만들고 싶을 때 연결 끊고 사이트에서 public 전환하고 다시 연결
'SW > Git' 카테고리의 다른 글
[Git] Branch 관련 내용 & 명령어 (0) | 2021.06.07 |
---|
Comment