분류 전체보기 (360) 썸네일형 리스트형 Git CLI 협업 이제부터 협업을 위한 git을 공부해볼 것입니다. 먼저 시작전에 폴더 하나를 만들어주고 시작하겠습니다. (똑같이 만드셔도 되고 다른 이름으로 만들어주셔도 됩니다.) Git Bash를 켜 해당 디렉토리로 이동해줍시다. 이렇게 준비는 끝이 났습니다. 첫번째로 명령어를 사용하여 디렉토리를 만들어주고 초기화 하였고요. A라는 사람이 디렉토리 안에서 혼자 작업한다고 가정하겠습니다. 버전을 하나 만들기 위해서 nano 에디터 사용해 work.txt 만들어 주었고요! (이제는.. 코드 없이 직접해봐야겠죠?) 이후 올리고 버전으로 만들었습니다! 이제 백업을 하기 위해 깃허브로 이동하여 레파지토리를 만들어주겠습니다! HTTPS 주소를 복사를 해놓겠습니다. 지역저장소와 원격저장소를 연결해주었습니다. 자, 이제 git pu.. Git CLI merge & conflict 병합 여러분들이 커밋을 하면 순차적으로 버전이 만들어지겠죠? (기본적으로 master or main 브렌치) 이 상태에서 여러분이 apple branch를 만들고 checkout해서 새로운 버전을 만든다면 이 버전은 apple branch 소속이 되겠죠? 그리고 여러분이 master 브렌치에 있는 상태에서 version 3 master 버전으로 가 다시 google 브렌치를 만들고 버전을 만들게 되면 master 브렌치를 기반으로하는 google branch 소속이 될 것 입니다. 여기서 다시 master로 checkout 하여 version을 만들게 되면 version 4가 되는 것이고요. 만약 apple branch에서 작업하던 내용이 master branch에도 유용할 것 같다면 어떨 것 같습니까? me.. Git CLI branch 저희 이제 실습을 하기전에 준비를 먼저해야겠죠? 저는 git폴더에 manual 이라는 새 디렉토리를 만들어주었습니다. git mkdir manual 다음은 지역지장소 선언해주시고요. git init 저희는 work.txt를 수정해가면서 작업을 할 것이고요. nano work.txt 이게 왜 안될까요?? 예전에 설명했었지만 처음 파일을 만들고 Area로 올리기 위해선 add먼저 해주었어야 했죠.. git commit -am "work 1" git add work.txt git commit -m "work 1" 자 이제 commit 을 똑같은 부분을 2번 더 할 것인데요. 완성본은 이렇게 되었습니다. git log 앗 저처럼.. 커밋 메세지를 잘못쓰셨다고요? 마지막 커밋 메세지 고쳐봅시다.. git comm.. Git CLI branch & conflict Branch는 대체 무엇일까요? 여러분이 제품 사용설명서를 만드는 사람이라고 상상해봅시다. 현재 이것을 깃 버전관리를 하고 있었는데요. 그렇다면 여러분들의 작업은 순차적으로 버전이 만들어질 것입니다. 그런데 제품이 출시하면서 문제가 생겼습니다. 계약하자는 고객사가 많아졌는데 고객사마다 요구사항이 다 달랐죠. 그렇다면 고객사마다 사용설명서도 달라지겠죠? 지금까지 우리가 작업했던 저장소는 마스터 브렌치 라고 가정하겠습니다. git branch -M master 우선 각각의 고객사마다 제품설명서 마스터 저장소 디렉토리(A,B,C)를 복사해서 고객사 이름을 붙였죠 (master,애플,구글) 그리고 애플은 애플마다 위한 구글은 구글마다 새로운 버전을 만들었는데.. 뭔가 좀 비효율적? 이라고 생각했습니다. 고객사가.. Git CLI 당겨오기 (pull) 두개의 git bash 창을 띄웠고요. 지금부터는 2개의 컴퓨터라고 가정하고 진행하겠습니다. 어떤 원격저장소에 연결되어있는지 확인해보았더니 지난시간에 clone 을 해왔기 때문에 같은 원격저장소에 있는 것을 확인하실 수 있죠? git remote -v 지난번에 clone 하였던 폴더부터 push을 해보려고 합니다. 우선 같은 내용이면 재미없으니깐 hello1.txt를 수정해보겠습니다. nano hello1.txt backup2라는 내용을 추가하였고요. git의 상태를 물어봐주고 커밋 메세지를 추가해서 Staging Area와 올림의 동시에 커밋을 해줘서 레파지토리에 저장해주었고요. git status git commit -am "backup2" 이제 원격저장소에 올릴려면 어떻게 해야 된다? git pus.. Git CLI 복제 (Clone) 지금까지 저희는 지역저장소와 원격저장소를 연결하고 push 해보았죠? (백업) 백업을 했다면 복제를 해야겠죠? 그래서 우리는 새로운 컴퓨터를 마련하고 지금까지 작업했던 것을 복제하여 복원하는 방법을 살펴볼 것 입니다. 복원을 할 수 있다면 여러개의 컴퓨터의 같은 소스코드의 상태를 유지 할수 있겠죠? 저는 우선 복제를 위해서 clone라는 폴더를 새로 만들었고 저장소를 만드는 방법은 총 2가지가 있습니다. Clone: 이미 있는 저장소 사용 Init: 새로운 저장소 사용 저희는 복제를 하려고 하는 것 이기때문에 clone을 사용해보겠습니다. clone을 하기 위해서 먼저 전에 만들어놨던 github의 레파지토리로 가보겠습니다. 이부분을 복사하시면 되겠고요! 다시 bash창으로 가보겠습니다. 새로운 명령어가.. Git CLI 백업 (원격 저장소와 연결) 지난시간에 말했듯 통신에는 2가지 방법이 있습니다. 1.Http: 보안적으로 조금 부족함 , 조금 불편할수 있음, 배울필요가없음 2.SSH: 보안적으로 훨씬 강력, 훨씬 편리, 배워야할게 많음 저희는 그중에 Http 통신을 사용할 것이고요. 먼저 지역저장소를 마련하셔야겠죠? 저희는 저번에 디렉토리를 만들고 버전관리까지 해봤으므로 이 부분은 넘어가도록 하겠습니다. 혹시 아직 처음이다 하신분들은 카테고리 git을 참고해주세요. 지역저장소에 있는 내용을 원격저장소로 연결을 해보겠습니다. 저희가 저번시간에 만든 레파지토리를 들어가보시면 저희가 봐야할 것은 빨간 부분이고요. 새로운 명령어가 나왔죠? 우리의 지역저장소에 원격저장소 해당되는 저장소를 연결하는 명령어. git remote add "원격저장소 별명" ".. Git CLI 백업 (repository 생성) 우선 깃은 버전정보를 .git 이라는 디렉토리에 보관합니다. .git을 포함한 프로젝트 디렉토리 전체를 파일저장 서비스에 올려놓으면 완벽한 백업이 됩니다. 그런데 백업을 하는 방법에는 2가지가 있습니다. 1. 자유롭지만 어려운방법 (직접 백업서버를 만든다.) 2. 제한적이지만 쉬운방법 (Git hosting 원격저장소 임대) 이번 시간은 Git hosting을 이용하여 원격저장소를 이용하는 방법을 살펴보겠습니다. 그전에 간단하게 용어정리를 먼저 하고 가겠습니다. Local Repository: 지역저장소 Remote Repository: 원격저장소 Push: 지역저장소 -> 원격저장소 Pull: 원격저장소 -> 지역저장소 (기존 작업 내용을 유지후 가져오기) Clone: 복제를 하는 과정 (원격저장소 =.. Git CLI 되돌리기(revert) 현재 저희 버전은 총 2개가 있는 상태이고요! 복습겸 2개를 더 추가한 후에 진행해보겠습니다. R3라는 내용을 추가해주시고요! git nano hello1.txt add와 commit을 동시에 진행해주겠습니다. git commit -am "R3" 한번더 R4 라는 내용을 추가해주고 커밋하겠습니다. git nano hello1.txt git commit -am "R4" 로그로 확인해보고 R4를 삭제하고 R3로 돌아가고 싶다고 가정하겠습니다. git log reset의 경우에는 git reset "R3고유값" 을 하게 되면 R3로 가겠죠. 하지만 revert로 R3로 가고싶다면 R4의 커밋 ID를 revert를 해야합니다. revert를 하게되면 commit 메세지를 작성하라고 디폴드로 설정되어있는 에디터가.. Git CLI 버전 삭제 (reset) 이번엔 만들었던 버전을 삭제해보겠습니다. 현재 진행상황은 총 3개의 버전이 있죠? 여러분이 지금 Message3을 지우고 Message2가 되고싶다! 그렇다면 여러분은 Message2로 reset을 해야합니다! Message3을 삭제하는 것이 아니라 Message2으로 reset을 하는겁니다! 아래 Message2의 고유값을 복사하시고요. 이버전을 지울뿐만 아니라 수정하고 있던 것 까지 지우는게 hard 모드이고요! 수정한 것은 남기고 싶다! 그러면 mixed, soft로 변경하시면 된다는점만 알고 있어주세요! git reset --hard " " git log로 확인해보시면 정말로 삭제가 되었고요. 아까 보았던 checkout이랑은 다른 점이 있다고 느끼실 수 있을겁니다. 다음시간은 revert를 사용.. 이전 1 ··· 32 33 34 35 36 다음