일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스레드
- 백준
- 단편화
- 가상 메모리
- Oracle
- PYTHON
- fork()
- 운영체제
- 추상화
- mips
- 페이지 대치
- BOJ
- 기아 상태
- 페이지 부재율
- mutex
- 컴퓨터구조
- 페이징
- 인터럽트
- 부동소수점
- 프로세스
- 교착상태
- 세마포어
- 동기화
- ALU
- 트랩
- Algorithm
- 우선순위
- 알고리즘
- 스케줄링
- concurrency
- Today
- Total
봉황대 in CS
Git Terminal Commands 본문
내가 자꾸 까먹고 헷갈려서 작성하는 Git 터미널 명령어 정리
(수시로 업데이트 예정)
* Git의 구조
< Local > - 로컬 저장소 (Local repository)
1. Working directory
(1) untracked
(2) tracked
(a) unmodified
(b) modified (수정된)
2. Staging area
3. Git directory (2→3 by commit)
< Server > - 원격 저장소 (Remote repository)
: Git directory (Local → Server by push)
❖ Basic Terminal Commands
* Position
❏ 현재 위치 (Print working directory)
pwd
❏ 현재 directory의 모든 파일 보기 (list files)
ls
❏ 상위 directory로 이동
cd ..
❏ 홈 directory로 이동 (/Users/euna)
cd ~
❏ 원하는 directory로 이동 (파일 이름 입력 중에 tab 치면 자동 완성)
cd directory_name
* Directory
❏ directory 생성
mkdir directory_name
❏ directory 삭제
rm -rf directory_name
* File
❏ 파일 생성
touch .file_name
❏ 파일 생성 + 내용
echo "contents" > file_name
❖ Git Terminal Commands
❏ git 폴더 생성 (git이 해당 폴더를 관리하기 시작)
- Finder에서 git 폴더 보는 방법 (숨김 폴더 toggle) : ⌘ + shift + .
git init
❏ repository의 상태 확인
git status
* Add
: Working directory의 파일을 Staging area로 옮김
❏ 모든 파일
git add .
❏ 원하는 파일만
git add file_route
* Remove
: Staging directory에 추가된 파일을 다시 Working directory로 내려보냄
❏ 모든 파일
git rm -r --cached .
❏ 원하는 파일만
git rm -cached file_route
* Commit
: Staging directory에 있는 파일을 Git directory에 저장
❏ 긴 메세지 (줄 바꿈 가능)
git commit
❏ 간략한 메세지 (줄 바꿈 불가능)
git commit -m "message"
❏ 현재 브랜치의 commit 이력 확인
git log
❏ commit 덮어쓰기 (commit message 변경 시 많이 사용)
git commit --amend
* Reset
: commit 취소
❏ commit hash(번호)에 해당하는 commit으로 코드 롤백
git reset --hard commit_hash
commit hash? : 6d6b4e1c7a3370299c6a6907dd042d331d0f0761
❏ 마지막으로 commit 한 사항들만 날려버리기
git reset --hard
❏ commit만 취소, Staging directory로 내려보내기 (코드는 그대로)
git reset --soft
* Remote
: Local repository & Remote repository 연동
git remote add remote_repository_name remote_repository_address
ex. git remote add origin https://github.com/eunaJung01/뭐시기...
* Push
: Local repository 내용 → Remote repository로 업로드
git push remote_repository_name branch_name
ex. git push origin main
origin : remote repository URL을 참조하기 위한 대명사! (참고)
❏ 강제 push
git push remote_repository_name branch_name --force
* Pull
: Remote repository의 내용 → Local repository로 가져오기
git pull remote_repository_name branch_name
ex. git pull origin main
❏ Local repository에서 생성한 파일 (ex. README.md) 가져오기
git pull remote_repository_name branch_name --allow-unrelated-histories
* Conflict
: 협업 중 같은 파일을 수정해서 충돌이 발생한 경우
매번 push 하기 전에 pull 하는 것으로 해결 가능하지만 개 귀찮음
→ branch 사용
* Branch
❏ 현재 repository에 존재하는 branch 보여주기
git branch
❏ 생성
git branch branch_name
❏ 다른 branch로 이동
git checkout branch_name
→ merge 요청은 Github에서 가능
(1) Compare & pull request 버튼 : 협업 시 많이 사용 (규칙을 만들어서 merge)
(2) Pull requests 버튼
⇒ Merge pull request 버튼
❏ Git 에러 : CRLF will be replaced by LF in .. 해결법
git config --global core.autocrlf true input // 맥
git config --global core.autocrlf true // 윈도우
'Computer Science & Engineering' 카테고리의 다른 글
[CPU] How to Implement CPU(or Core) Pinning (0) | 2024.08.05 |
---|---|
[CPU] What is Hyper-Threading ? (1) | 2024.07.15 |
Blocking vs. Non-Blocking / Synchronous vs. Asynchronous (0) | 2024.05.06 |