본문 바로가기

코딩 농장

GitHub 기본 명령어

참고 유투브 강의 : https://www.youtube.com/playlist?list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk 

git --version : 현재 git 의 버전정보

git config user.name "GreenBNN" : commit 할 때 표시되는 이름

git config user.email "GreenBNN@gmail.com" : commit 할 떄 표시되는 이메일

vi filename / vim filename : 파일 편집기 실행 / 파일이 없으면 생성 후 편집기 실행

git status  : 현재 git 에서 작업 상태 표시

git add filename : 파일을 commit 대기 상태에 올리기

git commit : 변경된 버전에 주석을 달며 repositories 에 저장

git commit -a : 이제까지 수정하거나 바뀐 파일들을 add 후 commit 해준다.

git commit -am "commit message" : 수정하거나 바뀐 파일들을 add 후 commit message 로 commit 해준다.

git log : 이제까지 commit 한 버전들을 모두 표시

git log -p : 이제까지 commit 을 하면서 바뀐 변경사항을 볼 수 있다.

git log commitCodeA..CommitCodeB : 버전 A 부터 B 까지의 바뀐 변경사항을 볼 수 있다.

git branch : 현재 branch 들을 보여준다.

git branch <branchname> : branchname 이라는 branch 를 생성한다.

git checkout <branchname> : branchname 이라는 branch 로 변경한다.

git branch -d <branchname> : branchname 을 삭제한다.

git log --branches : branch 들의 상황을 보여준다. 

git log --branches --decorate --graph : branch 들의 상황을 보기 좋게 보여준다.

git log --branches --decorate --graph --oneline : 한 줄로 branch 들의 상황을 보여준다.

git log branch1..branch2 : branch1 과 branch2 의 차이점의 commit 을 보여준다.

git diff branch1..branch2 : branch1 과 branch2 의 차이점의 내용 보여준다.

git push origin branchname : branchname 이라는 branch 를 원격저장소에 push 한다.

git merge exp : 현재 branch 는 master 라면 master 에 exp 를 병합시킨다. 즉 exp 에 있는 내용이 master 에 추가된다.

-----

git 의 원리 objects  :  sha-1 을 통과해 만든 해쉬값(abcde123)에서 앞 두자리(ab)를 objects 디렉토리 밑에다가 디렉토리를 만들고 그 밑에 나머지 해쉬값(cde123)에 우리의 파일 데이터를 저장한다.

git add : git add 를 하면 git 은 우리가 add 파일을 본다. 그리고 그 파일의 내용에 적혀있는 정보와 몇 가지 정보를 추가해 그것을 압축한다. 그리고 그 압축한 결과를 sha-1 이라는 방법으로 해쉬값을 얻고 그 값에 해당되는 디렉토리와 파일을 만들고 그 안에 우리 파일의 정보를 저장한다. 그리고 그 파일의 이름과 저장한 정보를 index 에 저장한다.

git commit : 우리가 commit 한 내용도 내부적으로 add 와 비슷하게 objects 에 저장된다. objects 안에는parent 와 tree 라는 해쉬값과 우리의 user.name 와 user.email 고유 해쉬값 또한 저장된다. parent 는 이전 commit 의 해쉬값이 있다. tree 의 해쉬값에는 commit 으로 업데이트 된 파일들의 해쉬값(blob)과 파일명들이 있다. 즉 add 로 모아놓은 파일들이 tree 로 묶인 것이다. 

git status : index 와 최신 commit 의 tree 에 있는 정보가 일치한다면 commit 할 것이 없을 것이다. 만약 index 에 적혀있는 파일들의 해쉬값과 현재 파일의 해쉬값과 비교하여 다르다면 다른 점을 보여줄 것이다.

-----

git repository 변경 : https://cheershennah.tistory.com/217

 

git 저장소 주소 repository 변경하기

git 저장소 주소 repository 변경하기 Git에서 remote repository를 다른 주소 URL로 변경해 보자. 예를 들어 기존의 repository에서 형상관리를 하다가 새로운 repository를 생성 한 경우,새 repository로 형상관..

cheershennah.tistory.com

 

 

 

 

'코딩 농장' 카테고리의 다른 글

xml map 만드는 파이썬 코드  (0) 2024.07.11
Git1, Git2-CLI 버전관리  (0) 2022.06.26