![github CLI 스터디 (기초)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXvpSj%2FbtsGZNyER0s%2FSM7G6CItu7JM1GYzgmAiZ1%2Fimg.jpg)
github CLI 공부를 시작하게 된 계기
github에 대한 사용법을 잘 모르고 당장 팀 프로젝트에 임해야 해서 소스트리로만 관리하였는데
순서를 제대로 모르고 사용법도 서툴다 보니 여러 가지 사건 사고가 많이 터졌다.
버전관리도 안되고 잘못 눌러 작업하던 로컬파일도 모두 삭제되어서 멘붕이 왔다.
하루동안 어찌어찌하여 복구는 했지만... CLI로 관리하는 것이 더 나을 거 같다는 생각이 들어
당일 프로젝트의 목표치를 어느 정도 완수하고 CLI로 작업한 것을 PUSH 하는 것을 목표로 공부를
진행하였다.
가지고 있던 연습파일로 여러 번 연습한 후에 프로젝트 진행하였다.
CLI는 github CLI를 다운로드하여 진행하였다.
github CLI는 먼저 로그인이 필요하다. (명령어 : gh auth login)
이후 github.com 선택 -> SSL( 설정을 했으면 SSL 안 했으면 HTTPS로 선택)
이후 Login with a web browse로 선택하여 받은 코드로 인증을 진행하면 로그인은 끝난다.
파일 주소를 열어 git 삽입 ( cd 파일명 이후 git init)
이후 리포지터리 생성가능하다 (명령어 : gh repo create)
name , owner 설정 이후 다른 설정을 하는데 연습해고자 readme 파일만 만들고
다른 것은 설정하지 않았다
gitignore : Git이 추적하지 않아야 할 파일이나 디렉터리를 지정하는 데 사용된다. 예를 들어 임시파일, 로그파일 등을 Git에서 제외하고 싶을 때 유용하다. 이 파일에 등록된 내용은 GitHub CLI나 Git GUI 도구를 통해 변경 사항을 감지하고 제외할 수 있다고 한다.
license : 이 파일은 프로젝트의 저작권 및 사용 조건을 정의하는 데 사용된다. GitHub에서는 프로젝트에 LICENSE 파일을 포함하면 해당 프로젝트가 어떤 라이선스 하에 있는지를 자동으로 인식하고 표시한다고 한다.
브랜치로 위치 변경 후(브랜치 추적) 변경파일들 올린다 (명령어 : git checkout -b testpractice)
add -> 커밋할 파일들 올려놓는 작업( 커밋예정파일이라고 생각하면 된다) (명령어 : git add . -> add 다음에. 사이에 띄어쓰기 필수이며 전체 파일을 올리는 명령어이며 단일 파일을 올릴경우 .말고 경로+파일명만 써주면된다.)
커밋예정 파일 올린후 커밋진행 ( 명령어 : git commit -m "testclear" , 여기서 -m 은 커밋 메시지 보내는 명령어이다.)
연습하는 중간 에러가 떴는데 본인 로컬 저장소에 원격저장소를 설정 안했을 경우 에러가 떠서 다음과 같은 명령어로 해결하였다.
해결한 명령어 : git remote add origin [원격 저장소 URL]
origin 이라는 이름의 원격저장소가 로컬저장소에 추가되는 명렁어이다.
이후에 push 하여 push까지 진행하였다.
명령어 : git push origin 브랜치명
여기까지 맞는 순서인지는 모르겠지만 처음보는 에러잡으면서 해결하고 push까지 진행하여 프로젝트 CLI 도 진행하였다.
내 팀프로젝트 폴더를 열어 진행
혹시몰라 원격저장소 연결되어있는지 확인 진행 하였다 (명령어 : git remote -v)
이전에 소스트리로 연결해놔서그런지 연결은 잘되있어서 그대로 진행하였다.
그다음 brach도 잘 연결되있는지도 확인을 진행하였다( 명령어 : git brach)
brach도 등록이 잘되있어서 기존올릴파일들을 커밋예정에 올렸다 (명령어 : git add .)
add 이후 커밋을 진행하였다. ( 명령어 : git commit -m "전할 메시지")
[practice cc13714] ?뚯썝媛??濡쒓렇???섏젙,?덊눜,濡쒓렇?꾩썐 ?꾨즺
fatal: unknown write failure on standard output
라는 에러가 떴는데 찾아보니 git은 ,UTF-8 설정이 없어서 해당 에러가 나오는데 상관없이
커밋이 잘되며 리포지토리에도 한글이 잘뜬다. 해결하고자 설정으로 UTF-8 설정을 헤봤으나
똑같이 에러를 내지만 상관없이 커밋이 잘되서 일단 진행하였다.
커밋을 진행한후 push 하기전 상태를 확인해야할거같아서 진행했다 (명령여 : git status)
상태를 보니 원격저장소와 로컬저장소의 브랜치간 차이가 있다고 알려주어 pull 을 먼저 진행후
push를 진행하라고 하여 pull 을 진행하였다 (명령어 git pull)
pull 을 진행하니 conflict 가 떴다. yml 파일 문제라고 해서 열어보니 설정해준것들의
중복 및 다른점이있어서 충돌이 발생하여 해결후 yml 파일만 다시 add와 커밋진행하였다
이후 충돌을 해결하였다고 생각하여 push 를 진행하였는데 성공했다.
리포지토리에도 잘들어간것을 확인하고 당일 git CLI 공부를 마치도록한다.
아직 많이 부족하기도하고 아직 초기라서 맞게 한건지도 잘 모르겠으나 트러블 슈팅의 중요성을 알았다.
어떤 에러가 발생하면 해결할수있는 능력을 키우는것도 실력향상이 될거같다고 생각한다.
이제 갓 시작한 개발자 블로그 계속 발전하겠습니다. 최예나 팬입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!