실무에서 자주 사용하는git 명령행
버전 컨트롤의 개인적인 생각
기본적으로 역사를 바꾸고 싶지 않은 유형이다.태국의 수정도 특별히 rebase
, 일반commit
이다.
첫 번째push
까지 다양한 시행착오가 있었기 때문에 현지 제출은 잠시 보류하고 있지만 목표가 있으면 무대에 올라 제출한다.
Git로 할 때 사용할 수 있는 오의 19개. 자주 검색하지만 저는 개인적으로 실제 업무에서 잘 사용하지 않습니다.
따라서 다음은 초보자~중급자에게 유용한 명령이다.
이런 시작은 애초에 총결된 것이었지만 실제로는 생각이 바뀌었다.
리베이스에서 온 forced push가 할 수 있는 파이가 되었다.단, fork의 Pull Request에만 해당합니다.자신의 자료고의 지점이기 때문에 깨끗이 정리한 후에 합병하는 것이 비교적 친절하다.
탈Git 초보자의 참고서
Git 저장소의 내용을 최대한 정확하게 파악
실무에서 자주 사용하는 Git 명령
변경점을 부분적으로 이동하려는 경우
처음에는 반복적으로 시도하고 목표가 있으면 제출하지만 같은 서류의 일부분만 제출하려고 한다.이럴 때 이거야.$ git add -p [ファイル]
개요
세그먼트를 나누기 위해 변경 점의 블록 = Hunk를 지정할 수 있습니다.
각 행크가 어떻게 해야 하는지를 묻는 질문에 다음 옵션을 입력하여 무대에 올라갈지 여부를 결정한다.
그나저나 p
는 patch
을 가리킨다. -p, --patch
Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to
review the difference before adding modified contents to the index.
This effectively runs add --interactive, but bypasses the initial command menu and directly jumps to the patch subcommand. See
"Interactive mode" for details.
탭 페이지에서 항목 작성 또는 편집
탭 페이지에서 항목 작성 또는 편집
의미
함의
y
stage this hunk
이 행크를 인덱스로 이동
n
do not stage this hunk
무시해, 행크
q
quit; do not stage this hunk or any of the remaining ones
이 행크는 나중에 무시하고 끝냅니다.
a
stage this hunk and all later hunks in the file
이 행크와 그 후의 행크가 모두 무대에 올랐다
d
do not stage this hunk or any of the later hunks in the file
이 행크는 앞으로 무대에 오르지 않는다
g
select a hunk to go to
저장할 행크 선택
/
search for a hunk matching the given regex
정규 표현식에 일치하는 행크 찾기
j
leave this hunk undecided, see next undecided hunk
이 행크는 보류하고 다음 조작하지 않은 행크로 이동합니다
J
leave this hunk undecided, see next hunk
이 행크는 남겨두고 다음 행크로 넘어갈게요.
k
leave this hunk undecided, see previous undecided hunk
이 행크는 보류하고 이전의 미조작 행크로 이동합니다
K
leave this hunk undecided, see previous hunk
이 행크는 보류하고 앞의 행크로 가세요.
s
split the current hunk into smaller hunks
이 한크를 자동으로 분할합니다. (분할된 모든 한크에 대해 같은 조작을 합니다.)
e
manually edit the current hunk
이 행크 수동 분할(다른 화면으로 이동)
?
print help
도움말 표시
기세로 버티고 있는 행크를 작업나무로 돌려보내고 싶어요.
아까 git add -p
추가 오류가 있으면 이렇게 돌려놓으세요.$ git reset -p [ファイル名]
개요
기본적으로 git add -p
와 같은 사용 방법이지만 옵션e
에서 수동으로 각 줄을 실행할 때 고유한 조작이 필요하다.e
시 다음 표시를 통해vi 등 편집기를 시작합니다.
추가 섹션 +
을 작업 트리로 되돌리려면 행의 첫 번째 +
를 공간으로 바꿉니다.
삭제 섹션 -
을 작업 트리로 되돌리려면 줄을 삭제합니다.
편집이 완료되면 저장을 덮어쓰고 편집기를 종료합니다.# Manual hunk edit mode -- see bottom for a quick guide.
@@ -21,6 +25,6 @@ class UsersController < ApplicationController
private
def method
- params.require(:user).permit(:name)
+ params.require(:user).permit(:name, :avator)
end
end
# ---
# To remove '+' lines, make them ' ' lines (context).
# To remove '-' lines, delete them.
# Lines starting with # will be removed.
#
# If the patch applies cleanly, the edited hunk will immediately be
# marked for unstaging.
# If it does not apply cleanly, you will be given an opportunity to
# edit again. If all lines of the hunk are removed, then the edit is
# aborted and the hunk is left unchanged.
나는 라식 요청을 보고 싶어서 그것을 현지에 놓고 싶다
검토를 요청하는 경우 요청이 변경된 환경을 로컬에서 보려고 할 수 있습니다.
이럴 때 이거야.$ git fetch [remoteリポジトリ名(originなど)] pull/[id]/head:[ブランチ名]
$ git branch
* master
[ブランチ名]
$ git checkout [ブランチ名]
개요
로컬에서 추출 요청 지점을 제공하고 이 지점으로 체크아웃합니다.
예를 들어 다음과 같은 플루릭이 있다면 git fetch origin pull/4893/head:check-confirmation-token-present
이다.
참고 자료
색인 내용의 차이 확인
제출하기 전에 지금부터 무슨 제출입니까?자주 잊어버리는 사람한테는 이거야.$ git diff --cached
개요
저장소 (인덱스) 내용과 최신 제출 시점 사이의 차이를 표시합니다.
작업 트리 내용 차이 확인
다음은 어떤 변경을 잠시 연기해야 합니까?고민할 때가 이거야.$ git diff
개요
작업 트리 내용과 최신 제출 시점 사이의 차이를 표시합니다.
로컬과 원격 마스터 지점에 차이가 있기 때문에 원격 내용을 강제로 동기화합니다.
왜 원격과 차이가 있는지 모르겠지만 이걸로 원격의 내용을 맞추세요.$ git fetch origin
$ git reset --hard origin/master
과거 제출 메시지 변경하기
다음 방법은 귀하가 눈치채거나 push하지 않은 경우에만 유효합니다.
참고로 n
HEAD를 1로 설정할 때 몇 번째로 제출한 숫자입니다.즉, git log --oneline
에서 위에서 세는 값이다.$ git log --oneline
0237ff3 (HEAD -> hoge)
98071c1 途中のコミット
8d99250 大切なコミットっ
$
$ git rebase -i HEAD~n
## コミットがコミット順の昇順でならんだviが開くので、変更したいコミット(今は8d99250とします)の行でpickをeditに変更して上書き保存します。
## すると...
Stopped at 8d99250... 大切なコミットっ
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
$
$ git commit --amend -m '大切なコミット'
[detached HEAD 2b6a3d2] 大切なコミット
Date: Thu Feb 14 14:52:37 2019 +0900
1 file changed, 84 insertions(+), 4 deletions(-)
$
$ git rebase --continue
Successfully rebased and updated refs/heads/feature/AL-809.
$
개요
그러니까 rebase
.rebase
그래서 push
안 했을 때 쓴다.
추가할게요.
참고 자료
$ git add -p [ファイル]
-p, --patch
Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to
review the difference before adding modified contents to the index.
This effectively runs add --interactive, but bypasses the initial command menu and directly jumps to the patch subcommand. See
"Interactive mode" for details.
$ git reset -p [ファイル名]
# Manual hunk edit mode -- see bottom for a quick guide.
@@ -21,6 +25,6 @@ class UsersController < ApplicationController
private
def method
- params.require(:user).permit(:name)
+ params.require(:user).permit(:name, :avator)
end
end
# ---
# To remove '+' lines, make them ' ' lines (context).
# To remove '-' lines, delete them.
# Lines starting with # will be removed.
#
# If the patch applies cleanly, the edited hunk will immediately be
# marked for unstaging.
# If it does not apply cleanly, you will be given an opportunity to
# edit again. If all lines of the hunk are removed, then the edit is
# aborted and the hunk is left unchanged.
$ git fetch [remoteリポジトリ名(originなど)] pull/[id]/head:[ブランチ名]
$ git branch
* master
[ブランチ名]
$ git checkout [ブランチ名]
$ git diff --cached
$ git diff
$ git fetch origin
$ git reset --hard origin/master
$ git log --oneline
0237ff3 (HEAD -> hoge)
98071c1 途中のコミット
8d99250 大切なコミットっ
$
$ git rebase -i HEAD~n
## コミットがコミット順の昇順でならんだviが開くので、変更したいコミット(今は8d99250とします)の行でpickをeditに変更して上書き保存します。
## すると...
Stopped at 8d99250... 大切なコミットっ
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
$
$ git commit --amend -m '大切なコミット'
[detached HEAD 2b6a3d2] 大切なコミット
Date: Thu Feb 14 14:52:37 2019 +0900
1 file changed, 84 insertions(+), 4 deletions(-)
$
$ git rebase --continue
Successfully rebased and updated refs/heads/feature/AL-809.
$
참고 자료
Reference
이 문제에 관하여(실무에서 자주 사용하는git 명령행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/HrsUed/items/0924c5f1f59210db3bfe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)