[Giit] 베이스부터 마스터 리액션까지~

6930 단어 Git버전 관리
과거 SVN에서 전송된 출력/노트이상한 점이 있으면 지적해 주십시오

기릿이라니요?


분산 버전 관리 시스템.적목을 여러 군데 조립해 탑 위에 쌓아놓은 듯한 인상을 준다.
대신 중앙 집권형 버전 관리 시스템의 SVN을 들 수 있다.

일단 대략적인 이미지.



등장하는 것은 크게 이 세 가지로 나뉜다.


· 작업 지점
· 원격 추적 지점
• 원격 지점
작업 지점과 원격 추적 지점이 결합된 구역은 로컬 지점이다.

작업 지점


구성원이 각자 개발한 개인 공간에서 각 기능에 따라 작업 지점을 인코딩하고 원격 지점에서push를 한다.별명은 추적 지점이다.

원격 추적 분기


작업 지점과 원격 지점 사이에 존재하는 지점.(위 그림 참조)
작업 지점과 원격 지점은 직접 교환하지 않고 원격 추적 지점을 통해 교환한다.
4git fetch 수정 후 업데이트.좀 귀찮아요.

원격 분기


모두가 공유하는 지점git push 변경하지 않는 한.
반대로 원격 지점에 push를 하면 영향을 미칠 수 있으니 주의해야 한다.

기존 창고의 clone

$ git clone [url]
그게 다야.

비즈니스 프로세스


편집에서도 조작할 수 있지만 명령행의 조작 방법을 기술하였다
이벤트 중 기능 추가 발생 시
① 작업지점 만들기

② 원격 분기에서push

③ 마스터에게 메르지 분기

① 작업지점 만들기


작업 지점을 만들다.
※ 이 시점에서 최신 마스터의 탄생에 유의하세요!
$ git branch ブランチ名
참조할 분기 전환
$ git checkout ブランチ名
Switched to branch 'hoge_branch'
분기 일람 & 분기 참조 확인
$ git branch -a
* hoge_branch   現在参照されているブランチ
 master           ローカルのmasterブランチ
 remotes/origin/master  リモート追跡ブランチのmasterブランチ

② 원격 분기에서push


개발이 낙후되어 원본 프로그램을 무대화 처리하다.(펄스팔쉬의 루시는 세척을 통해 고치 감각이 생긴다)
관문이란 commiit가 예약한 파일 일람표 또는 추가를 가리킨다.이 목록을 HEAD로 결합합니다.이 점에서 원격 지점은 영향을 받지 않는다. 다시 말하면 로컬 원격에 반영할 준비가 되어 있을 뿐이다.SVN 사용자는 오해하기 쉽다.
우선 차이가 있는지 없는지 확인해 보자.나쁘지 않으면 다음.
$ git status
쇼 소스.(색인에 추가)
$ git add ファイル1 ファイル2 ...

~その他~
$ git add .     //すべてのファイル・ディレクトリ
$ git add *.css //すべてのCSSファイル
$ git add -n    //追加されるファイルを調べる
$ git add -u    //変更されたファイルを追加する
HEAD에서 commiit
$ git commit
もしくは
$ git commit -a -m "任意のコメント"  //コミット (-aオプションは変更を自動検出してくれる
원격 지점에서push를 나누다.(여기 외부에 업데이트 내용 반영)
$ git push origin ブランチ名  

기타 명령


· HEAD에서 commiit를 취소하고 싶은
$ git reset --soft HEAD~2   #最新のコミットから2件分をワークディレクトリの内容を保持し取り消す
$ git reset --hard HEAD~2   #最新のコミットから2件分のワークディレクトリの内容とコミットを取り消す

追記
$ git reset --soft @~  #これでもいける。HEADと@は同じ意味
• commiit 정보를 수정하고 싶습니다
$ git log
編集...
완성
$ git commit --amend
여러 가지 상황을 수정하고 싶어요.
$ git rebase -i HEAD~2   #HEADから2件のコミットメッセージを表示
Vi 편집기 시작
pick commitId メッセージ // 2件目
pick commitId メッセージ // 1件目(最新)
.
.
.
위의 "pick"을 "편집"으로 바꾸어 저장합니다.리베이스는 위험하니 사용량을 정확히 사용하세요.
$ git rebase --continue

③ 마스터에게 메르지 분기


로컬 마스터 지점과 원격 마스터 지점의 차이를 확인하십시오
$ git checkout master
$ git status
이번에 추가 기능 제작의 작업 지점과 현지 마스터 지점의 차이를 확인했다.
$ git diff --name-status master hoge_branch
차질이 있으면 가져오너라.
$ git fetch                #リモートの更新内容を取得
$ git merge origin/master  #取得した更新内容をローカルに反映
작업 지점의 내용을 로컬 마스터 지점으로 가져옵니다.
$ git merge master hoge_branch
원격 마스터 지점에서push
$ git push origin master:master

불필요한 브랜치 삭제


기능마다 여러 가지를 하기 때문에 자주 제거해야 한다.
작업 분기 삭제
$ git branch --delete ブランチ名
원격 분기 삭제
$ git push --delete origin foo
もしくは
$ git push origin :foo

인용하다


Subversion을 계속 사용하는 프로젝트를 Giit로 이전하는 것을 고려해 보았다
[Giit] 기본 명령
Giit 명령 리스트
기본 용어집
git rebase를 정리해 봤습니다.
GT에서 필요하지 않은 로컬 브랜치와 원격 브랜치를 삭제하는 방법

좋은 웹페이지 즐겨찾기