-
9주차 월 1016광주인력개발원 일일포스팅(메모장) 2023. 10. 16. 17:04728x90반응형
※ 주의
이 게시물은 수업 시간 중에 작성했는데
스샷을 찍으면서 하기에는 진도가 빨라 놓치게 되어 스샷이 없습니당.
그리고 난잡합니다. ㅎㅎ
# 잡담
포트폴리오
1. 블로그
2. GitHub
1) git 프로그램 설치하기
+구글에 git 검색
+ git scm 에 접속하여 64비트 다운로드
2) github.com 가입하기
★복습
★학습목표
1. GIT 사용
+ CLI
+ GUI
★학습
1. GIT
1) git을 왜 사용하는가?
파일 관리에서 파일 이력을 관리할 수 있는 시스템
- 코드 기록추적
- 팀 단위의 협업
- 누가 어떤 내용을 변경햇는지 확인
+ 버전 관리 시스템 (Version Control System)
변화를 시간에 따라 기록하고 특정 시점의 버전을 다시 꺼내올 수 있는 시스템
파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구 가능
- 분산 버전 관리
각자 컴퓨터에서(작업물은 내 컴퓨터에 저장) 하나의 서버에 올려서 결합하여 다운로드
2) GIT의 3가지 구성요소
+ 저장소
-모든 변경사항을 추적하는 "컨테이너"
+ 스테이징 영역 / 인덱스
- 커밋이 준비되는 공간
- 작업 디렉토리의 파일과 저장소의 파일 비교
+ 작업 디렉토리 / 작업 트리
- 작업 중인 공간
REPOSITORTY INDEX WORK TREE
<<< COMMIT << REGISTER
3) GIT의 세가지 상태
+ Commited
- 데이터가 로컬에 안전하게 저장된 상태
+ staged
- 수정된 데이터를 저장할 것이라고 표시한 상태
+ Modified
- 수정된 데이터가 로컬에 저장되지 않은 상태
2. GIT 사용해보기
+Git 최초 설정 ( 각자 컴퓨터에서 설정 / 사용자명 + 이메일주소 가능하다면 중복은 피하는게 좋음)
이렇게 생긴 .git 이 저장소 역할을 하게 된다.
*(관리에 주의)
작업공간에 저장소도 같이 있지만 완전히 다른 영역
사용자 정보
git config --global user.name ( 사용자명 )
git config --global user.email ( 이메일주소 )
설정 확인
git config --list ( 사용자 정보를 볼 수 있다. )
저장소 생성
cd git
mkdir mylibgit
cd mylibgit
git init
설정이 저장된 파일
.gitconfig
★ 그 외 Git Bash (Linux) 명령어
화면지우기 -clear
현재위치 - pwd
파일 목록 - is 또는 is -al
tap - 자동입력
방향키 위 아래 - 전에 입력했던 코드? 보기
git add .- 파일등록 (무대 stage)
git commit - 저장하기
git commit - m "메시지" - 저장하기 2
-편집기 (vi) - 메시지 작성
나가기 - esc > :q > enter
수정하기 - vi 파일명
- a 또는 i 누름
esc > :wq > enter
cat 파일의 내용을 살짝 볼 수 있다.
git status - 파일의 저장상태 확인하기
- 마지막으로 add 명령을 실행한 상태까지만 Staged 이고
이후 수정된 내용은 Modified 상태
파일의 상태를 간단한 정보로만 확인하기
git status –s 또는 git status --short
파일 새로 추적하기 (Untracked → Tracked / Staged)
git add README
어떤 내용이 변경되었는지 확인 (Working Directory ↔︎ Staging Area)
git diff
어떤 내용이 변경되었는지 확인 (Staging Area ↔︎ 저장소)
git diff --staged
- 단순히 파일의 변경 사실을 확인하려면 git status
- 어떤 라인을 수정했는지 등 내용을 확인하려면 git diff
git log - 이전 내역 모두
- 숫자 : 개수 지정
-p : 상세보기
--stat : 통계보기
git log --pretty=oneline 헌줄만 보기
외 short, full, fuller
Unstaged 상태의 파일도 모두 커밋
git commit -a -m "auto add"
- 추가하지 말아야 할 변경사항도 저장될 수 있으니 주의해서 사용
tracked파일 : 이미 스냅샷에 포함돼 있는 파일
- Unmodified(수정하지 않음) / Modified(수정함) / Staged(저장 대상)
변경
git mv
삭제
git rm
삭제 (3) - Staged 상태 이후 내용 변경 (삭제 불가)
git rm -f
-f 옵션으로 강제 삭제
저장소에 저장되지 않은 데이터가 삭제되면 복구할 수 없기 때문에
최소한의 안전장치 개념으로 적용
저장소 복제 - git Clone (Git 저장소를 복사하는 기능)
다른 VCS 와의 차이점은 프로젝트 모든 히스토리를 받아온다는 것
git clone [url]
git clone [url] 폴더명
※내 저장소랑 겹치지 않게 주의할 것
history 출력 형식----------------------------------------------------------------
commit <해시> (HEAD -> <브랜치>, <원격 브랜치>, <원격 HEAD>)
Author: <작성자 이름> <작성자 이메일>
Date: <커밋 날짜>
<커밋 메시지>
diff --git a/<변경된 파일> b/<변경된 파일>
index <이전 파일 해시>..<새 파일 해시> <파일 모드>
--- a/<변경된 파일>
+++ b/<변경된 파일>
@@ -<시작 라인>,<삭제된 라인>+<추가된 라인> @@ <변경 영역>
<변경된 내용>
--------------------------------------------------------------------------------------
커밋 히스토리
출력 형식 사용자 지정
git log --pretty=format:"%h - %an, %ar : %s"
옵션 설명 옵션 설명 %H 커밋 해시 %h 짧은 길이 커밋 해시 %T 트리 해시 %t 짧은 길이 트리 해시 %P 부모 해시 %p 짧은 길이 부모 해시 %an 작성자 이름 %cn 커미터 이름 %ae 작성자 이메일 %ce 커미터 이메일 %ad 작성자 시각 %cd 커미터 시각 %ar 작성자 상대 시각 %cr 커미터 상대적 시각 %s 커밋 메시지 - 커밋 해시 : 커밋과 관련된 모든 내용을 포함하는 식별자
- 트리 해시 : 파일 및 폴더 구조에 대한 내용을 포함하는 식별자
- 부모 해시 : 커밋 간의 관계 정보를 포함하는 식별자
git log 의 주요 옵션
옵션 설명 -p 각 커밋에 적용된 패치를 보여준다 --stat 각 커밋에서 수정된 파일의 통계정보를 보여준다 --shortstat --stat 명령의 결과 중 수정한 파일, 추가된 라인, 삭제된 라인만 보여준다 --name-only y 커밋 정보중에서 수정된 파일의 목록만 보여준다 --name-status 수정된 파일의 목록과 추가/수정/삭제 상태를 보여준다 --abbrev-commit 40자 짜리 SHA-1 체크섬 중 처음 몇 글자만 보여준다 --relative-date 상대적인 시간을 보여준다 (ex. 2 weeks ago) --graph 브랜치와 병합 히스토리 정보를 그래프로 보여준다 --pretty 지정한 형식으로 보여준다 주요 로그
git log --oneline --graph --all
commit
- git commit -a -m '메시지'
되돌리기
파일을 빠뜨렸거나 커밋 메시지를 잘못 적었을 때
1. git commit --amend (파일 업로드나, 메시지를 빠트렸을 때) (메시지,누락된 파일)
2,.git reset HEAD 파일 (stage를 unstaged로 할때) (스테이징 취소)
git reset HEAD^ (commit 내역이 사라져버림) (커밋 삭제)
ㄴ commit
5 < HEAD 이 녀석이 사라지고
4 < 다음
3
2
1
reset은 복구x 주의 요망
3. git checkout -- 파일명 (마지막 커밋 상태로 복구)
리모트 저장소 확인하기
git remote -v
(fetch) 받아오기
(push) 업로드
project 로컬 저장소 원격 저장소
commit push
html >>>>>>> ltml >>>>>>>>>>>>>> html
<<<<<<< <<<<<<<<<<<<<<
pull fetch
기존 워킹 디렉토리에 새 저장소 추가
git remote add [단축이름] [url]
브랜치 (Branch)
원래 코드와는 상관없이 독립적으로 개발하도록 지원해주는 것
- 새로운 버전을 출시
- 새로운 기능을 추가
- 버그 수정
커밋 내역 끼리의 여결된 모습
(한쪽에서 쟤를 알고있는 모습, a가 b를 알고 b가 c를 알고있음)
git checkout 파일명 - 파일이
git branch -v - 목록보기
git branch 이름 - 생성하기
이동과 생성
git checkout -b iss53 (추천)
또는
git branch iss53
git checkout iss53
병합 머지를 할 때는 본체에서 해야함
git merge (본체에서 병합하고자 하는 파일명)
본체는 그대로 있고 branch 만 수정되어 merge 한다면 빠르게 병합이 가능
그 현상을 fast forward 라고 한다.
본체에서 수정이 있고 수정 전 branch 를 합치게 된다면 코드를 만져줘야 한다.
branch 삭제
git branch -d 파일명
※확장자 프로그램
git 검색하여 여러 프로그램중 마음에 드는것을 install 하면 vs코드에서 log 를 볼 수 있음
728x90반응형'광주인력개발원 일일포스팅(메모장)' 카테고리의 다른 글
9주차 수 1018 (0) 2023.10.18 9주차 화 1017 (0) 2023.10.17 8주차 금 1013 (0) 2023.10.14 8주차 화 1010 (2) 2023.10.10 7주차 금 1006 (0) 2023.10.10