git[이클립스에 git연동하고 GUI로 이용하기]
https://opentutorials.org/module/3762
https://opentutorials.org/module/3733
https://youtube.com/playlist?list=PLuHgQVnccGMCNJESahrVV-uYGMNYK_vMf
걍 next해서 설치만 하면 되네
로컬 VCS
그냥 로컬에서만 사용하는애
중앙집중식 VCS
서버에만 최종본 존재 원하는 파일만 로컬에 받아서 수정후 올린다.
중앙서버 날아가면 다 날아감..복구 불가
분산 VCS
여러사람들과 같이 사용할 수있도록 복제한다. 수정본을 각자 갖고 있다. 전체파일을 과거의 이력이 모두에게 전달
서버에 올리면서 merge만 하면되다 --> git merge 안하면 로컬임
git의 장점
Git에서는 소스 코드가 변경된 이력을 쉽게 확인할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있습니다.
저장소
Git 저장소가 제공하는 좋은 점 중 하나는 파일이 변경 이력 별로 구분되어 저장된다는 점입니다.
비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에 파일을 변경 사항 별로 구분해 저장할 수 있습니다.
원격저장소 : 다른사람과 공유하기 위함
로컬저장소 : 내꺼에 저장
같은 부분을 수정하고 올릴때 살짝 확인 필요하겠구먼
처음에 설정
clone
기존에 저장소에 있는거를 그대로 복제할때
init
저장소 만들기
삭제 변경
add
이력관리
저장소설정
branch 저장소
commit 저장
merge 합치기
reset 현재 작업되는 위치변경(연결리스트)
switch 저장소변경
fetch 서버의 변경목록을 가져옴 ->기록 no, 읽기만
pull 실제 서버에 데이터를 가져옴
push 원격서버에 저장 ->save라고 보면된다.
깃 공식문서
https://git-scm.com/book/ko/v2
원하는 폴더로 가서
git init
git 파일정보 들어가있나 확인
저장소에 관한 중요한 정보들 없어지면 git이 의미가 없다
리포지토리 확인
3가지 저장공간 - > 한군데이지만 나눠놓은거
working diretory 내가 작업하고 있는 프로젝트의 디렉토리
staging area: git add한 파일들이 모여 있는 곳 -> 최종적으로 준비된 상태
repository: 커밋들이 모여있는 저장소 -> 최종 저장소
자바 프로젝트에서 .classpath와 src폴더 .project 가 중요하다
src
bin staging 저장소
add commit - >기록, 설명 작성 가능
.git이 있는 폴더의 모든 파일들을 검토 대상으로 본다 - > 변화 확인(모니터링) 이미저장된것과의 차이
용량 시간으로 판단
git에서 무시할 것에 관한 내용을 적ㄴㄴ다
.gitignore파일을 폴더에 생성
깃 상태 확인 - >staging 영역에 넘어간게 없음
폴더안에 폴더리스트 나온 빨간색갈에 bin폴더 없넹
파일만
폴더 통째로 staging 영역에
git에 저장가능
로그인해야함
저장되어 있는곳
head가 master를 가리키고 잇고
작성자 시간이 나온다.
파일 변경한거 저장소에 잇는걸로 되돌리기
이클립스
깃 리포지토리
window > show view > others
아직 원격 연결은 안함
stating도 볼수있다
올라간부분과 안올라간 부분
show in history
깃의 로그
변경이력 구체적으로 확인 가능!
diff 뭐가 변경되었느지 확인
이거 드래그하면 됌ㅋㅋgit add src
메세지 써주고 commit 버튼 클릭하면 history 에 올라간다
commit되었을때 생성되는 id
ui로 하기 create repository 누르고 finish
ui로 ignore함
history에서 두개 를 비교해서 볼수 있다
새로운 branch 생성
//각자에게 따로따로 전달 하는 소스코드가 있다 ->이전에는 프로젝트를 따로 따로 만들어서 해야한다
//좋은 소스코드를 발견하게 되면 각 프로젝트에 소스코드를 추가해야한다.
//SOLID
//S : 단일 책임의 원칙
//branch를 만들어서 새로운 버전관리 다른 프로젝트에도 변경사항이 반영되도록한다.
이러면 지금현재 동일한 프로젝트가 두개 생기는데 생성되면서부터 master와 삼전 둘다 각각수정가능하ㅏㄷ
branch 변경
merge
master에 정수를 merge
다른 위치의 기능을 추가할때는 문제가 없어 근데 같은 위치의 것을 합칠때는 충돌나
메세지가 나옴
개발자가 알아서 선택하고 저런 주석은 지워준다.
-----
?와 >는 staged전이란 표시
git graph라는 걸 설치하면 git관련된걸 그래픽으로 보여줌
settings를 들어가서 토큰을 발급받는다
만료일
리포지토리 영역 관리
인증키는 기억해놔야함ㅋㅋㅋ 잊으면 지우고 다시...
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
원격 리포지토리 만들기
디폴트 port가 443 이라 생략
password는 토큰을 붙여넣기한다.
서버의 저장소를 로컬에도 복제해야한다
로컬에 저장할 git 저장소를 입력하는 부분
프로젝트의 jigt안에 폴더를 선택해준다.
서버에 같이 올리기 commit and push
로컬에 main , 서버에 main
commit만 햇으면 서버에 올리리라면 push to origin
clone
지워주고 추가해서 src 선택해서 추가
git 다른 사람과 연동
settings에 들어가서 설정
협업설정
초대할사람의 이메일 address
허가할 사람 이메일을 추가하면 이메일로 초대 메일이 가게 되고 메일을 통해 접속하면 된다.