목록Computer Science/git&github (9)
Slow but steady wins the race
-Open UP에서 공개SW 실습교육 2일차- 1. Fork 저장소와 오픈소스 GitHub 저장소 설정 **upstream으로 등록 ** git remote add upstream (오픈소스 github 프로젝트 URL) upstream을 fork한 저장소의 url을 넣지 않도로 주의* 현재 등록된 저장소 확인 git remote -v 2. Rebase가 필요한 상황 팀프로젝트 498commits (를 가져온 내용) => base commits base commits위에 다른 499,500번째 commit을 만들어내고, 이 달라진 부분을 제출할 수 있음 Q. base는 항상 똑같은가? A. No. 팀프로젝트가 혼자 하는 것이 아니기 때문에, 계속 바뀌게 된다. Rebase란? - base를 교체하는 방식..
※ Stash vs Checkout ★ Stash - 수정내용 임시 저장, 복구 가능 - keeping 느낌 - 버그 수정 (before/after 비교 가능) ★ Checkout - git checkout -- 파일명 파일 원상 복구(수정 내용 완전히 날림) - git checkout -- 브랜치명" 도서관(.git 히스토리 창고)에서 책을 대출받다" 이런 느낌 1. git diff(수정내용 확인) 2. 임시저장 git stash 3. 임시저장 복구 git stash pop 1. git diff (수정 내용 확인) 2. 수정 전 상태로 복구 git checkout -- (파일이름) - 완전히 원상복구
" 같은 폴더 다른 세상" - branch에서 뭘하든 master에는 적용이 되지 않음 - 분할된 작업을 진행할 수 있음! - 즉, Git을 쓰는 이유가 됨 1. Branch 생성 git checkout -b (branch 이름) # git checkout -b fix-mnist - 작업의 명칭으로 branch 생성해주는 것이 좋음 2. 폴더 생성 및 수정작업 hello.txt를 만들고 commit 해보면.. 3. 브랜치를 master branch로 변경하고 확인해보면 - hello.txt는 없는 것을 확인할 수 있음 4. 브랜치 삭제 - master 브랜치에서 진행 git branch -D fix-mnist 1. 브랜치 생성 2. 수정할 파일 확인 3...
git shortlog -sn | nl - s 옵션 : 개발자별 commit 개수 요약 - n 옵션 : 개발자별 commit 개수 순위 정리 - nl 명령 : line number 명시 (순위 표시 용으로 사용) - 해당 부분은 gui 로 확인 가능 ( Github 해당 프로젝트 -> Insights -> Contributors) Q. 왜 GUI로 보지않고 CLI 로 보는가? A. 전체의 history보다 최근의 history, 특정 폴더에 집중적으로, 등등 확인하기 위해 이렇게 세부적인 사항은 GUI로 확인할 수 없음 즉, 세부적인 경향 파악을 위해 GUI가 아닌 CLI를 사용 (1) 특정 폴더에 집중적으로 순위 확인 git shortlog -sn -- (디렉토..
-Open UP에서 공개SW 실습교육 1일차- 1. 참여할 프로젝트 Fork 복사 2. Fork한 프로젝트를 다운로드(Clone) 3. 프로젝트 분석(개발 경향 파악) : https://bskwak.tistory.com/243 참고 4. config 설정 (저자(author) 정보) https://bskwak.tistory.com/244 참고> 5. commit 설정( 소스코드 수정분) 6. Fork한 프로젝트에 commit 업로드 ( == Push) 7. 참여할 프로젝트에 commit 제출 ( == Pull-Request : PR) ※ Commit 이란? 1. log message(수정한 이유) - ⭐️협업 시 중요⭐️ 2. patch/ diff (코드 수정: 변화분) - ⭐️+(초록)/-(빨강) 코드..
지역 저장소 (local repository): 자신의 컴퓨터에서 작업 한 뒤 그 컴퓨터 안에 커밋 저장한 저장소 - 단점) 실수로 지역 저장소를 삭제한다면 이때까지 작업했던 내용 증발(안전성 下) 원격 저장소 (remote repository): 지역 저장소의 단점을 보완, 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소 - 깃 : 지역 저장소와 원격저장소를 연결해서 버전 관리하는 파일들을 쉽게 백업가능 - "백업" & "협업" - 깃허브 多 사용 깃허브(깃 사용을 위한 원격 저장소를 제공하는 서비스) 1. 따로 깃 설치를 하지 않고도 깃의 버전 관리 기능 사용 가능 2. 지역 저장소 백업 가능 3. 협업 프로젝트에 사용 가능 4. 자신의 개발 이력을 남길 수 있음 - 날짜별로 모두 기록이 남음 - 어..
Problem. 고객사에 따라 다른 제품, 사용 설명서 Solution 1. 처음에 작업했던 저장소 전체를 여러 개 복사해서 각 고객사의 이름을 붙인다음 저장소마다 버전관리를 따로 하는 방법 ex) 처음에 작업했던 저장소 : master 각 고객사 : ms, google, apple but 비효율적! (1) 자료중복 (2) 고객사마다 디렉터리 이름을 다르게 사용(버전 관리 시스템의 장좀 미이용) (3) 한 디렉터리의 최신버전코드를 복사해 다른 디렉터리에 붙여 넣고 커밋하는 과정에서 에러가 발생 Solution 2. 브랜치! 브랜치 기능작동 순서 1. 깃으로 버전관리를 시작하면 master라는 브랜치 생성 2. 사용자가 커밋할 때마다 master브랜치는 최신 커밋을 가리킴 ( 브랜치 = 커밋을 가리키는 포..
02-1 깃 저장소 만들기 저장소를 만들고 싶은 디렉터리로 이동해서 깃을 초기화 -> 해당 디렉터리에 있는 파일들을 버전관리 O 깃 초기화 하기 - git init 1. 깃 저장소를 만들 디렉터리 생성 홈 디렉터리에 hello-git이라는 디렉터리를 만들고 cd명령을 사용해 해당 디렉터리로 이동 $ mkdir hello-git $ cd hello-git 2. 깃을 사용할 수 있도록 디렉터리 초기화 $ git init "Initialized empty Git repository ..." -> 해당 디렉터리에서 깃 사용 가능 디렉터리 안의 내용을 확인해 보면, '.git'라는 디렉터리가 생성되어있음 ($ ls -la 이용) '.git' : 깃을 사용하면서 버전이 저장될 저장소(repository) cf) ...