시그마 삽질==six 시그마

git 기본 명령어 본문

프로그래밍/GIT

git 기본 명령어

Ethan Matthew Hunt 2020. 8. 20. 20:38

//저장소 생성
git init

//git 전역 설정 정보 조회
git config --global --list

//git 저장소별 설정 정보 조회
git config --list

//현재 로컬저장소와 연결된 url반환
git remote -v

//로컬 저장소 email,name 셋팅(Locally set email-address (separately for each repository)
git config user.email "my_email@abc.com"
git config user.email  <---확인

git config user.name "my_name"
git config user.name  <---확인

//글로벌하게 email,name셋팅
git config --global user.email "my_email@abc.com"
git config --global user.email <---확인

git config --global user.name "my_name"
git config --global user.name <---확인

//파일 스테이징
git add <파일명>

//모든파일 스테이징
git add *

//git add 취소 ,git unstaged 시키기. 파일명 빼면 전체가 reset 됨
$ git reset HEAD <unstaging 시킬 파일명>


//커밋
git commit -m "내용"


//가장 최근 커밋 메세지 변경
git commit --amend -m "변경 메세지"  
git push -f    <--- 푸시까지 이미 한경우만 추가!(커밋 추가없이 기존꺼 변경시킴)


//커밋 메세지 여러개 한꺼번에 수정시(커밋추가 없이 변경시킴)
//https://docs.github.com/en/github/committing-changes-to-your-project/changing-a-commit-message#amending-older-or-multiple-commit-messages
git rebase -i head~최근서부터 몇개 볼껀지 숫자

최근꺼부터 3개 보고 싶으면 
git rebase -i head~3 하면됨

pick e499d89 <commit message1>  (예전꺼)
pick 0c39034 <commit message2>
pick f7fde4a <commit message3> (가장최근꺼)

위3개중 첫번째 가장 예전꺼와 가장 최근꺼를 변경원할시
i를 눌러서 수정모드로 들어가서 pick ---> reword로 바꾸고  esc->wq 엔터로 저장

그럼 첫번째 커밋 메세지부터 변경하는 창이 나옴 
i 눌러서 커밋메세지 수정하고  esc->wq 엔터로 저장

 세번째 커밋 메세지 변경하는 창이 나옴 
i 눌러서 커밋메세지 수정하고  esc->wq 엔터로 저장
끝



//merge    
//feature/test브랜치를 현재 브랜치에 머지 (밑에와 차이 있음)
git merge feature/test

//merge(방금 머지한거 취소)
git merge --abort

//merge    
//remote의 feature/test브랜치를 현재 브랜치에 머지

1)Fetch the remote branch from the origin first(해당 remote branch 현행화 해주고 머지해야함!!!)
 git fetch origin remote_branch_name
2)Merge the remote branch to the local branch
 git merge origin/remote_branch_name

ex)
1) git fetch origin feature/test
2) git merge origin/feature/test

//https://stackoverflow.com/questions/21651185/git-merge-a-remote-branch-locally

//솔직히 위에서 remote를 fetch 후 merge 하는건 하단과 같다. pull == fetch+merge
//origin 저장소에서 변경사항을 가져와 현재 브랜치에 합치기
git pull <원격저장소> <브랜치명>
git pull origin feature/test


//모든 커밋로그
git log

//최근 4개 커밋로그
//END가 나오면 q 든 ctrl+z로 빠져나가면됨
git log -4

//remote 변경사항 가져오기(브랜치포함)
git fetch





//로컬 저장소 파일을 원격저장소로
//origin이라는 원격저장소의 master 브랜치 (브랜치는 뒤에서 설명)에 푸시
git push <원격저장소> <브랜치명>
git push origin master

//HEAD points to the top of the current branch. git can obtain the branch name from that. So it's the same as
git push origin HEAD == git push origin CURRENT_BRANCH_NAME



how-to-manually-find-email-addresses-for-github-users

https://www.nymeria.io/blog/how-to-manually-find-email-addresses-for-github-users

 

 

 

'프로그래밍 > GIT' 카테고리의 다른 글

git tag  (0) 2020.10.18
git rebase  (0) 2020.08.31
git status , git diff  (0) 2020.08.20
git stash (임시저장)  (0) 2020.08.20
git repository 복사하기  (0) 2020.08.12
Comments