2022. 9. 1. 16:12ㆍ카테고리 없음
같은 GUI라서 git 기본 gui와 sourcetree는 비슷한 모양새이다.
한글과 영어의 차이, 그리고 보여지는게 다르고 목적이 좀 다를 뿐이다.
sourcetree는 해당 글에 써두었으니 생략하고,
Rescan - 폴더 내 변경사항 다시 스캔.
Stage Changed - 워크스페이스에서 스테이지로 올리기
Sign off - 서명날인인데 안씀, author 있는데 굳이?
Commit - 스테이지에 있는 파일들을 fix(= to local repo)
Push - local to remote repository
히스토리창
GIT GUI repository -> visualize all branch's history
히스토리창은 대체로 이런식이다.
누가 커밋을 했는지 플로우가 나오고, 코멘트, 작성자, 날짜 식으로 나오는데 순서는 gui 프로그램에 따라 조금 씩 다르다.
아래는 어떤 파일들을 수정해서, 혹은 추가해서 올린건지, 내용은 어떤게 삭제되고 추가되었는지 나와있다.
각 commit마다 snapshot(commit code)가 생성되며 rollback(되돌리기)가 가능하다.
git bash는 리눅스처럼 모든걸 커맨드라인으로 관리한다.
대부분의 커맨드라인이 동일하지만 git관련한 추가 단축어들이 존재한다.(git 정리에 프로세스 용어 올려둠)
// 상태확인
git status
### (1단계씩 이동) ###
// 워킹 to 스테이지, *(전체)시 [] 생략 가능
git add [file.file]
git mv [file.file]
git rm [file.file]
// 스테이지 to 워킹, [] 생략 가능
git reset [file.file]
// 스테이지 to 로컬
git commit
// 로컬 to 스테이지
git reset HEAD^
// 로컬 to 리모트
git push
// 리모트 to 로컬
git fetch
status 확인하면 스테이지에 안올라온 파일은 붉은색으로, 올라온 파일은 초록색으로 바뀌는 것을 알 수 있다.
reset 쓰면 다시 워킹스페이스로 돌려보낸다.
git commit 했다가 취소하고 -m과 "comment"를 추가했다.
git commit만 치면 vi가 나온다. 뭘 쳐야할지 모르겠어서 그냥 취소했다. vi 잘쓰는데...
여튼 그러면 status 쳤을 때 nothing to commit이 나온다.
로그를 보면 trial comment가 붙은 로그가 추가된(commit까지 완료) 상황.
커밋 취소 후 로그를 다시 보면 trial 쓰인 로그부분이 다시 삭제된 것을 알 수 있다. (아예 삭제되어 워킹으로 돌아간다.)
커밋까지만 하고 로그 봤더니 괄호 안이 다르다. 아직 진행중이고 돌릴 수 있다는걸로 보이는데,
겁이 많은 자, 하지만 용기도 많은자, 그것이 나다.
push 도전
오리진 마스터가 옮겨간 것을 알 수 있다.
실제 깃랩에도 올라가 있는 것을 확인했다.
여기에서 [git reset HEAD^] 을 썼더니 깃랩에는 변화 없고(올라간 채로)
내 로컬 스토리지만 비워진 것을 확인했다.
(실제 워킹스페이스에는 파일이 존재하고, 로컬스토리지와 스테이지에는 없어서 add부터 다시 해야지 올라가는 상황.)
깃랩 내용 삭제하기는 집에서 개인적으로 해봐야겠다. 그래도 궁금증은 해결되었다.
pull fork clone도 나중에 추가하겠지만 지금은 1단계만 이동하는 정도가 더 도움되어서 여기까지 한다.
remote = head
stage = index