728x90
반응형

개발관련/Git 300

'git diff'가 호출기를 사용하지 못하도록 하는 방법

질문 : 'git diff'가 호출기를 사용하지 못하도록하려면 어떻게해야합니까? git diff 및 기본적으로 less 호출기를 사용하는 다른 명령에 전달할 명령 줄 스위치가 있습니까? 나는 그것을 cat으로 파이프 할 수 있다는 것을 알고 있지만 모든 구문 강조 표시를 제거합니다. GITPAGER=cat (또는 이와 비슷한 것)에 의해 글로벌 .gitconfig의 호출기를 cat으로 설정할 수 있다는 것을 알고 있습니다. 그러나 나는 때때로 호출기를 원합니다 (diff의 크기에 따라 다름). 그러나 명령 줄 스위치가 있으면 선호합니다. 매뉴얼 페이지를 통해 찾을 수 없습니다. 답변 --no-pager to Git은 호출기를 사용하지 않도록 지시합니다. -F 옵션을 less 전달하면 출력이 단일 화면에 ..

개발관련/Git 2021.12.10

Git은 하나의 명령으로 추가 및 커밋

질문 : Git은 하나의 명령으로 추가 및 커밋 내가 할 수있는 방법이 있나요 git add -A git commit -m "commit message" 하나의 명령으로? 나는 그 두 명령을 많이하는 것 같고, Git에 git commit -Am "commit message" 같은 옵션이 있다면 삶을 훨씬 더 편리하게 만들 것이다. git commit 에는 -a 수정자가 있지만 커밋하기 전에 git add -A 를 수행하는 것과 동일하지 않습니다. git add -A 는 새로 생성 된 파일을 추가하지만 git commit -am 은 추가하지 않습니다. 무엇입니까? 답변 예를 들어 git 별칭을 사용할 수 있습니다. git config --global alias.add-commit '!git add -A ..

개발관련/Git 2021.12.10

같은 컴퓨터에 여러 github 계정을 활용하는 방법

질문 : 같은 컴퓨터에 여러 github 계정이 있습니까? 내 컴퓨터에서 내 실제 "작업"저장소와 git 허브의 개인 저장소 모두에서 작업하려고합니다. 직장 계정이 먼저 설정되었고 모든 것이 완벽하게 작동합니다. 그러나 내 개인 계정은 다른 계정 / 이메일로 설정된 내 개인 저장소로 푸시 할 수 없습니다. 내 작업 키를 개인 계정에 복사하려고했지만 키는 하나의 계정에만 연결할 수 있기 때문에 오류가 발생합니다. 각각의 github 자격 증명에서 두 계정을 어떻게 푸시 / 풀 수 있습니까? 답변 여러 SSH 키 쌍으로 SSH 설정을 구성하기 만하면됩니다. 이 링크는 따라 가기 쉽습니다 (Eric에게 감사합니다) : http://code.tutsplus.com/tutorials/quick-tip-how-to..

개발관련/Git 2021.12.09

Git에서 특정 파일을 무시하는 방법

질문 : Git에서 특정 파일을 무시하는 방법 Hello.java 파일이있는 저장소가 있습니다. 컴파일하면 추가 Hello.class 파일이 생성됩니다. .gitignore 파일 Hello.class 항목을 만들었습니다. 그러나 파일은 여전히 추적되는 것으로 보입니다. Hello.class 무시하도록하려면 어떻게해야합니까? 답변 문제는 .gitignore 가 이전에 추적되지 않은 파일 만 무시한다는 것입니다 ( git add ). git reset name_of_file 을 실행하여 파일을 언 스테이지하고 유지합니다. (푸시 후) 저장소에서 주어진 파일을 제거하려면 git rm --cached name_of_file . 출처 : https://stackoverflow.com/questions/430861..

개발관련/Git 2021.12.09

Git 커밋의 변경 사항을 확인하는 방법

질문 : Git 커밋의 변경 사항을 어떻게 볼 수 있습니까? git diff COMMIT 수행하면 해당 커밋과 HEAD (내가 아는 한) 사이의 변경 사항을 볼 수 있지만 해당 단일 커밋에 의해 변경된 내용을보고 싶습니다. diff / log 에서 해당 출력을 제공하는 명백한 옵션을 찾지 못했습니다. 답변 COMMIT 해시에 대한 차이점을 보려면 다음과 같이하십시오. COMMIT 는 커밋의 해시입니다. git diff COMMIT~ COMMIT 당신의 차이가 표시됩니다 COMMIT 의 조상과는 COMMIT . ~ 표기법과 그 친구들에 대한 명령어와 gitrevisions 에 대한 자세한 내용은 git diff 의 man 페이지를 참조하십시오. 또는 git show COMMIT 는 매우 유사한 작업을 수행..

개발관련/Git 2021.12.09

이전 브랜치를 git checkout하는 방법

질문 : 이전 브랜치를 git checkout하는 방법이 있습니까? cd - 와 동등한 것을 원한다. 내가 브랜치 master foo 체크 아웃 git checkout - 과 같은 것을 입력 master 로 돌아가고 foo 로 돌아갈 수 있기를 바랍니다. 이와 같은 것이 있습니까? 구현하기 어려울까요? 답변 1.6.2 릴리스 정보에서 @{-1} 은 마지막 분기를 참조하는 방법입니다. 이것은 개체 이름이 예상되는 곳뿐만 아니라 지점 이름이 예상되는 모든 곳에서 허용되며 마치 지점 이름을 입력 한 것처럼 작동합니다. 예 : git branch --track mybranch @{-1} , git merge @{-1} , git rev-parse --symbolic-full-name @{-1} 은 예상대로 작동..

개발관련/Git 2021.12.09

Git SSH 키로 접근하는 방법

질문 : Git이 계속 암호를 묻는 메시지를 표시합니다. 나는 한동안 Git을 사용해 왔지만 암호에 대한 끊임없는 요청이 나를 막기 시작했습니다. 저는 Mac OS X 및 GitHub를 사용하고 있으며 GitHub의 Git 설정 페이지 의 지침에 따라 Git 및 SSH 키를 설정했습니다. 또한 GitHub의 SSH 키 암호 페이지 에 언급 된대로 Mac OS X 키 체인에 github SSH 키를 추가했습니다. 내 공개 키가 Git에 등록되었습니다. 그럼에도 불구하고 Git 풀을 시도 할 때마다 사용자 이름과 비밀번호를 입력해야합니다. 이를 위해 설정해야하는 SSH 키 외에 다른 것이 있습니까? 답변 잘못된 Git 저장소 URL이 있다고 생각합니다. .git/config 열고 [remote "origin..

개발관련/Git 2021.12.09

Git이 rebase에서 관련 없는 기록을 병합하는 것을 거부할 때

질문 : 리베이스에서 관련없는 기록을 병합하는 것을 거부하는 Git git rebase origin/development 중에 Git에서 다음 오류 메시지가 표시됩니다. fatal: refusing to merge unrelated histories Error redoing merge 1234deadbeef1234deadbeef 내 Git 버전은 2.9.0입니다. 이전 버전에서는 잘 작동했습니다. 새 릴리스에 도입 된 강제 플래그로 관련없는 기록을 허용하는이 리베이스를 계속하려면 어떻게해야합니까? 답변 Git 2.9 이후 기본 동작이 변경되었습니다. "git merge"는 기본적으로 공통 기반이없는 두 브랜치를 병합하는 데 사용되었습니다. 이로 인해 기존 프로젝트의 새로운 기록이 생성 된 다음 의심하지 ..

개발관련/Git 2021.12.08

Git 로컬 분기 삭제 실행 취소하는 방법

질문 : 힘내 로컬 분기 삭제 실행 취소 git branch -D branchName 필요한 실험적 변경 사항으로 잘못된 분기를 삭제했습니다. 지점을 어떻게 복구합니까? 답변 git reflog 를 사용하여 분기의 마지막 커밋의 SHA1을 찾을 수 있습니다. 그 시점에서 다음을 사용하여 분기를 다시 만들 수 있습니다. git branch branchName 편집 : @seagullJS가 말했듯이 branch -D 명령은 sha1을 알려주므로 아직 터미널을 닫지 않았다면 정말 쉬워집니다. master2 라는 분기를 삭제 한 다음 즉시 복원합니다. user@MY-PC /C/MyRepo (master) $ git branch -D master2 Deleted branch master2 (was 130d7ba).

개발관련/Git 2021.12.08

git 저장소에서 하나의 파일만 체크 아웃하는 방법

질문 : git 저장소에서 하나의 파일 만 드물게 체크 아웃하는 방법은 무엇입니까? git repo에서 하나의 파일 만 체크 아웃하려면 어떻게해야합니까? 답변 원래 나는 2012 git archive ( Jared Forsyth 의 답변 및 Robert Knight 의 답변 참조 )에서 git1.7.9.5 (2012 년 3 월) 이후 Paul Brannan 의 답변을 언급했습니다. git archive --format=tar --remote=origin HEAD:path/to/directory -- filename | tar -O -xf - 그러나 2013 년에는 원격 https://github.com URL에 대해 더 이상 불가능했습니다. 이전 페이지 " 저장소를 아카이브 할 수 있습니까? "를 참조하..

개발관련/Git 2021.12.08

Git에서 HEAD, 작업 트리 및 인덱스의 차이점

질문 : Git에서 HEAD, 작업 트리 및 인덱스의 차이점은 무엇입니까? 누군가 Git에서 HEAD, 작업 트리 및 인덱스의 차이점을 말할 수 있습니까? 내가 이해하는 바에 따르면 그들은 모두 다른 지점의 이름입니다. 내 가정이 맞습니까? 나는 이것을 찾았다 단일 git 저장소는 임의의 수의 브랜치를 추적 할 수 있지만 작업 트리는 브랜치 중 하나 ( "현재"또는 "체크 아웃"브랜치)에만 연결되고 HEAD는 해당 브랜치를 가리 킵니다. 이것은 HEAD와 작업 트리가 항상 동일하다는 것을 의미합니까? 답변 해당 주제에 대한 몇 가지 다른 좋은 참고 자료 : 내 Git 워크 플로 색인을 체크 포인트 로 사용합니다. 내가 잘못 될 수있는 변화를 만들려고 할 때-내가 따라갈 수 있는지 또는 개념적으로 요구되는..

개발관련/Git 2021.12.07

Git 사용시 "Error: bad index – Fatal: index file corrupt"해결 방법

질문 : Git 사용시 "오류 : 잘못된 인덱스 – 치명적 : 인덱스 파일 손상"해결 방법 git init 후 몇 개의 파일을 추가 및 커밋하고 일부 변경하고 추가 및 커밋했습니다. git 데몬 (WinXP의 Cygwin에서 실행)을 설정하고 저장소를 한 번 복제합니다. 이제 복제 된 저장소에서이 오류가 발생합니다. $ git status error: bad index file sha1 signature fatal: index file corrupt 저장소의 새 복사본을 얻는 것 외에이 문제를 해결할 수있는 방법이 있습니까? 답변 문제가 커밋을위한 스테이징 영역 인 인덱스 (예 : .git/index )에있는 경우 인덱스를 제거 (원하는 경우 백업 복사본 만들기) 한 다음 마지막 커밋에서 인덱스를 버전으..

개발관련/Git 2021.12.06

Windows 에서 Git Bash의 속도를 높이는 방법.

질문 : Git Bash는 Windows 7 x64에서 매우 느립니다. 저는 작은 프로젝트를 개발하는 동안 Windows와 Ubuntu 모두에서 Git을 사용해 왔으며, 둘 사이를 자주왔다 갔다했습니다. 문제는 Git Bash가 지속적으로 느려진다는 것입니다. cd 를 실행하는 데 8 ~ 25 초가 걸리고 git 명령을 실행하는 데 5 ~ 20 초가 ls 를 실행하는 데 최대 30 초가 걸리는 경우도 있습니다. 말할 필요도없이 이것은 비생산적인 것은 말할 것도없고 재미도 없습니다. 나는 Git이 Windows에서 느리다는 것을 알고 있지만 이것은 어리석은 일입니다. 나를 위해 일시적으로 작동 한 한 가지 해결책은 네트워크 연결을 비활성화하고 ( 이 답변 에서 제안한대로) Git Bash를 시작한 다음 다..

개발관련/Git 2021.12.06

Git에서 단계화 되지 않은 변경 사항을 폐기하는 방법

질문 : Git에서 단계 화되지 않은 변경 사항을 어떻게 폐기합니까? 인덱스에없는 작업 복사본의 변경 사항을 삭제하려면 어떻게합니까? 답변 또 다른 빠른 방법은 다음과 같습니다. git stash save --keep-index --include-untracked --include-untracked 를 포함 할 필요가 없습니다. 그 후 원하는 경우 git stash drop 명령을 사용하여 해당 숨김을 삭제할 수 있습니다. 출처 : https://stackoverflow.com/questions/52704/how-do-i-discard-unstaged-changes-in-git

개발관련/Git 2021.12.06

git stash에서 단일 파일 (또는 파일 변경)을 추출하는 방법

질문 : git stash에서 단일 파일 (또는 파일 변경)을 어떻게 추출합니까? 숨김 변경 집합을 해제하지 않고 git 숨김에서 단일 파일 또는 파일의 diff를 추출 할 수 있는지 알고 싶습니다. 누구든지 이것에 대한 몇 가지 제안 / 아이디어를 제공 할 수 있습니까? 답변 git stash 맨 페이지에서 다음 내용을 읽을 수 있습니다 ( "토론"섹션, "옵션"설명 바로 뒤에 있음). 숨김은 트리가 작업 디렉토리의 상태를 기록하는 커밋으로 표시되며 첫 번째 부모는 숨김이 생성되었을 때 HEAD의 커밋입니다. 따라서 stash (예 : stash@{0} 는 첫 번째 / 최상위 숨김)를 병합 커밋으로 처리하고 다음을 사용할 수 있습니다. $ git diff stash@{0}^1 stash@{0} -- 설..

개발관련/Git 2021.12.06

.gitignore 및 "The following untracked working tree files would be overwritten by checkout"

질문 : .gitignore 및 "체크 아웃시 다음 추적되지 않는 작업 트리 파일을 덮어 씁니다." 그래서 .gitignore 파일에 폴더를 추가했습니다. 일단 내가 git status 하면 나에게 알려줍니다. # On branch latest nothing to commit (working directory clean) 그러나 분기를 변경하려고하면 다음과 같은 결과가 나타납니다. My-MacBook-Pro:webapp marcamillion$ git checkout develop error: The following untracked working tree files would be overwritten by checkout: public/system/images/9/thumb/red-stripe.jp..

개발관련/Git 2021.12.06

Git에서 한 파일의 작업 복사본 수정을 취소하는 방법

질문 : Git에서 한 파일의 작업 복사본 수정을 취소 하시겠습니까? 마지막 커밋 후 작업 복사본에서 많은 파일을 수정했지만 가장 최근 커밋과 동일한 상태로 재설정하는 것처럼 해당 파일 중 하나의 변경 사항을 취소하고 싶습니다. 그러나 저는 그 파일 하나의 작업 복사본 변경 사항 만 실행 취소하고 싶습니다. 어떻게하나요? 답변 당신이 사용할 수있는 git checkout -- file -- (nimrodm이 제안한대로) 없이도 할 수 있지만 파일 이름이 브랜치 나 태그 (또는 다른 개정 식별자)처럼 보이면 혼동 될 수 있으므로 -- 사용하는 것이 가장 좋습니다. 특정 버전의 파일을 확인할 수도 있습니다. git checkout v1.2.3 -- file # tag v1.2.3 git checkout st..

개발관련/Git 2021.12.05

git clone --mirror와 git clone --bare의 차이점

질문 : git clone --mirror와 git clone --bare의 차이점은 무엇입니까? git clone 도움말 페이지에는 --mirror . 원격 저장소의 미러를 설정합니다. 이것은 --bare 의미합니다. 하지만 방법에 대해 자세히 설명하지 않습니다 --mirror 복제가 다른 --bare 클론. 답변 차이점은 --mirror 사용하면 모든 참조 가있는 그대로 복사 된다는 것입니다 . 이것은 모든 것을 의미합니다 : 원격 추적 브랜치, 노트, 참조 / 원본 / * (필터 브랜치의 백업). 복제 된 저장소에는 모든 것이 있습니다. 또한 원격 업데이트가 원본에서 모든 것을 다시 가져 오도록 설정되어 있습니다 (복사 된 참조를 덮어 씁니다). 아이디어는 실제로 저장소를 미러링하고 전체 복사본을 ..

개발관련/Git 2021.12.05

Git에서 파일을 언 스테이징하는 두 가지 방법이 있는 이유

질문 : Git에서 파일을 언 스테이징하는 두 가지 방법이있는 이유는 무엇입니까? 때때로 git은 git rm --cached 가 파일을 언 스테이징하도록 git reset HEAD file 을 제안합니다. 어떤 것을 사용해야합니까? 편집하다: D:\code\gt2>git init Initialized empty Git repository in D:/code/gt2/.git/ D:\code\gt2>touch a D:\code\gt2>git status # On branch master # # Initial commit # # Untracked files: # (use "git add ..." to include in what will be committed) # # a nothing added to co..

개발관련/Git 2021.12.05

GitHub에서 커밋을 제거하는 방법

질문 : GitHub에서 커밋을 제거하려면 어떻게해야합니까? "실수로"커밋을 GitHub에 푸시했습니다. 이 커밋을 제거 할 수 있습니까? 이 커밋 이전의 GitHub 저장소를 되돌리고 싶습니다. 답변 참고 : 아래 주석에서 git rebase -i 의 대안을 참조하십시오. git reset --soft HEAD^ 먼저 로컬 저장소에서 커밋을 제거합니다. git rebase -i 사용하여이를 수행 할 수 있습니다. 예를 들어 마지막 커밋 인 경우 git rebase -i HEAD~2 하고 팝업되는 편집기 창에서 두 번째 줄을 삭제할 수 있습니다. git push origin +branchName --force 사용하여 GitHub로 강제 푸시합니다. 자세한 내용은 Git Magic Chapter 5 : ..

개발관련/Git 2021.12.04

git cherry-pick을 중단 하는 방법

질문 : git cherry-pick을 중단 하시겠습니까? 나는 git cherry-pick 하고 병합 충돌이 발생했습니다. 나는 갈등을 해결하고 싶지 않고 체리 픽을 중단하고 싶습니다. 실제 병합을 수행 할 때 ( git merge ) 편리한 git merge --abort 있습니다. 체리 따기에 해당하는 것은 무엇입니까? 답변 다음을 수행 할 수 있습니다. git cherry-pick --abort git cherry-pick 문서에서 --abort 작업을 취소하고 사전 시퀀스 상태로 돌아갑니다. 출처 : https://stackoverflow.com/questions/16820852/abort-a-git-cherry-pick

개발관련/Git 2021.12.04

주어진 커밋을 포함하는 분기를 나열하는 방법

질문 : 주어진 커밋을 포함하는 분기를 나열하는 방법은 무엇입니까? 주어진 커밋을 포함하는 분기를 찾기 위해 git을 쿼리하려면 어떻게해야합니까? gitk 는 일반적으로 브랜치가 너무 많지 않은 경우 목록을 나열합니다.이 경우 "다수 (38)"또는 이와 유사한 것으로 표시됩니다. 전체 목록 또는 적어도 특정 분기에 커밋이 포함되어 있는지 알아야합니다. 답변 git-branch 매뉴얼 페이지에서 : git branch --contains 지정된 커밋을 포함하는 분기 만 나열합니다 (지정되지 않은 경우 HEAD). --list 의미합니다. git branch -r --contains "원격 분기와 직접 관계가있는 로컬 분기"인 원격 추적 분기 도 나열합니다 ( 아래 user3941992 의 답변에서 언급 됨..

개발관련/Git 2021.12.04

짧은 Git 버전 해시 가져 오기

질문 : 짧은 Git 버전 해시 가져 오기 Git에서 HEAD 의 짧은 버전 해시를 얻는 더 깨끗한 방법이 있습니까? 다음에서 얻은 것과 동일한 출력을보고 싶습니다. git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8 원래 위의 명령을 사용하여 버전 문자열을 생성했지만 이것이 더 좋습니다. git describe --tags 0.1.12 (태그 된 커밋) 또는 0.1.11-5-g0c85fbc (태그 뒤에 5 개의 커밋)와 같은 문자열을 출력합니다. 답변 이 시도: git rev-parse --short HEAD git rev-parse 명령은 매우 다양한 작업을 수행 할 수 있으므로 문서를 주의 깊게 살펴보아야합니다. 출처 : https://sta..

개발관련/Git 2021.12.03
728x90
반응형