728x90
반응형

git 301

Git-현재 분기 바로 가기 푸시

질문 : Git-현재 분기 바로 가기 푸시 Git에게 현재 추적 분기를 원본으로 푸시하도록 지시하는 바로 가기가 있습니까? 참고 : 기본 푸시 동작을 변경할 수 있다는 것을 알고 있지만 기본 동작을 변경하지 않는 임시 솔루션을 찾고 있습니다. 예를 들어, 내가 사용할 분기 feature/123-sandbox-tests 에 있다고 가정합니다. git push origin feature/123-sandbox-tests 지루합니다. 바로 가기를 찾고 있습니다. git push origin current #

개발관련/Git 2021.10.08

Git 오류 수정 방법 : "object file ... is empty"

질문 : Git 오류 수정 방법 : 개체 파일이 비어 있습니까? 변경 사항을 커밋하려고하면 다음 오류가 발생합니다. error: object file .git/objects/31/65329bb680e30595f242b7c4d8406ca63eeab0 is empty fatal: loose object 3165329bb680e30595f242b7c4d8406ca63eeab0 (stored in .git/objects/31/65329bb680e30595f242b7c4d8406ca63eeab0) is corrupt git fsck 시도했다. error: object file .git/objects/03/dfd60a4809a3ba7023cbf098eb322d08630b71 is empty fatal: loose ..

개발관련/Git 2021.10.07

Visual Studio Code를 Git의 기본 편집기로 사용하는 방법

질문 : Visual Studio Code를 Git의 기본 편집기로 사용하는 방법 명령 줄에서 git을 사용할 때 Visual Studio Code를 기본 편집기로 사용할 수 있는지, 즉 커밋 주석을 만들고 명령 줄에서 파일의 차이점을 볼 때 궁금합니다. 나는 병합을 수행하는 데 사용할 수 없다는 것을 이해하지만 (적어도 1 분) diff를 보는 데 사용할 수 있는지, 그렇다면 어떤 명령 줄 옵션이 필요한지 아는 사람이 있습니까? .gitconfig 파일을 사용합니까? 업데이트 1 : 나는 과거에 메모장 ++에 대해했던 것과 유사한 접근 방식을 시도했습니다. #!/bin/sh "c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -n..

개발관련/Git 2021.10.07

수정 된 커밋을 원격 Git 저장소에 푸시하는 방법

질문 : 수정 된 커밋을 원격 Git 저장소에 푸시하려면 어떻게해야합니까? 소스 코드로 약간 작업했을 때 평소 커밋을 한 다음 원격 저장소로 푸시했습니다. 그러나 소스 코드에서 가져 오기를 구성하는 것을 잊었습니다. 그래서 이전 커밋을 바꾸기 위해 amend 명령을 수행합니다. > git commit --amend 불행히도 커밋은 저장소로 다시 푸시 할 수 없습니다. 다음과 같이 거부됩니다. > git push origin To //my.remote.repo.com/stuff.git/ ! [rejected] master -> master (non-fast forward) error: failed to push some refs to '//my.remote.repo.com/stuff.git/' 어떻게해야합..

개발관련/Git 2021.10.07

커밋하기 전에 'git add'를 실행 취소하는 방법

질문 : 커밋하기 전에 'git add'를 실행 취소하려면 어떻게해야합니까? 다음 명령을 사용하여 실수로 Git에 파일을 추가했습니다. git add myfile.txt git commit 실행하지 않았습니다. 이것을 실행 취소하는 방법이 있습니까? 그래서 이러한 파일은 커밋에 포함되지 않습니까? 답변 커밋하기 전에 git add 를 취소 할 수 있습니다. git reset 이것은 다른 어떤 것도 변경하지 않고 현재 인덱스 ( "약 커밋 될"목록)에서 제거합니다. 당신이 사용할 수있는 git reset 파일 이름없이 모든 예정된 변경 사항을 언 스테이징합니다. 이것은 적당한 시간에 하나씩 나열하기에는 너무 많은 파일이있을 때 유용 할 수 있습니다. 이전 버전의 Git에서 위의 명령은 각각 git rese..

개발관련/Git 2021.10.06

모든 Git 기록에서 문자열을 검색 하는 방법

질문 : 모든 Git 기록에서 문자열을 검색 하시겠습니까? 오픈 소스로 GitHub에 푸시하려는 코드 기반이 있습니다. 이 자식 제어 소스 트리에는 비밀번호가 포함 된 특정 구성 파일이 있습니다. 이 파일을 추적하지 않고 .gitignore 파일에도 추가했습니다. 그러나 나는 어떤 것이 커밋 사이에 끼어 들었을 때 민감한 정보가 밀려 나지 않을 것이라는 점을 절대적으로 긍정적으로 생각하고 싶습니다. 이 일을 할만큼 부주의 한 것 같지는 않지만 긍정적 이되고 싶습니다. 모든 자식을 "grep"하는 방법이 있습니까? 이상하게 들리지만 "모두"란 존재했던 모든 파일의 모든 버전을 의미합니다. 모든 커밋에 대해 diff 파일을 덤프하는 명령이 있다면 작동할까요? 답변 Git은 -S 옵션으로 diff를 검색 할 ..

개발관련/Git 2021.10.06

“git reset”과“git checkout”의 차이점

질문 : “git reset”과“git checkout”의 차이점은 무엇입니까? git reset 과 git checkout 을 같은 것으로 생각했는데, 둘 다 프로젝트를 특정 커밋으로 되 돌린다는 의미에서. 그러나 중복되므로 정확히 같을 수는 없다고 생각합니다. 둘의 실제 차이점은 무엇입니까? svn에는 커밋을 되돌릴 svn co 만 있기 때문에 약간 혼란 스럽습니다. VonC와 Charles는 git reset 과 git checkout 의 차이점을 정말 잘 설명했습니다. 내 현재 이해는 git reset 은 모든 변경 사항을 특정 커밋으로 되 돌리는 반면 git checkout 은 어느 정도 분기를 준비한다는 것입니다. 이 이해를 돕기 위해 다음 두 다이어그램이 매우 유용하다는 것을 알았습니다. h..

개발관련/Git 2021.10.05

Git 원격 분기가 삭제되었지만 여전히 'branch -a'에 나타납니다.

질문 : Git 원격 분기가 삭제되었지만 여전히 'branch -a'에 나타납니다. 내 저장소에 coolbranch 라는 브랜치가 있다고 가정 해 보겠습니다. 이제 다음을 사용하여 (원격 및 로컬 모두) 삭제하기로 결정했습니다. git push origin :coolbranch git branch -D coolbranch 큰! 이제 분기가 실제로 삭제되었습니다. 하지만 내가 달릴 때 git branch -a 나는 여전히 얻는다 : remotes/origin/coolbranch 주목할 점은 새 저장소를 복제 할 때 모든 것이 정상이며 git branch -a 가 브랜치를 표시하지 않는다는 것입니다. 알고 싶습니다-새 인스턴스를 복제하지 않고 branch -a 목록에서 분기를 삭제하는 방법이 있습니까? 답변..

개발관련/Git 2021.10.05

Git은 푸시 할 때마다 사용자 이름을 물어보지 않도록 하는 방법

질문 : Git은 푸시 할 때마다 사용자 이름을 묻습니다. 내 저장소에 푸시하려고 할 때마다 git은 username & password 를 모두 요구합니다. 매번 비밀번호를 다시 입력하는 데 문제가 없지만 사용자 이름을 입력하는 데 문제가 있습니다. https 를 사용하여 저장소를 복제합니다. 따라서 각 git push username 을 묻지 않도록 git을 구성하려면 어떻게해야합니까? 나는 리눅스를 처음 접했지만 Windows의 IIRC git push 는 비밀번호 만 묻습니다. 답변 편집 (조정자와 댓글이 제안한대로 @ dk14에 의해) credential.helper store 를 사용하는 경우 ~/.git-credentials 에 완전히 암호화되지 않은 상태 ( "있는 그대로") 저장됩니다. ..

개발관련/Git 2021.10.05

Git으로 브랜치에 변경된 여러 파일 중 하나만 숨길 수있는 방법

질문 : Git으로 변경된 여러 파일 중 하나의 파일 만 숨기시겠습니까? 브랜치에 변경된 여러 파일 중 하나만 숨길 수있는 방법은 무엇입니까? 답변 git stash push -p -m "my commit message" -p 은닉해야 할 덩어리를 선택합니다. 전체 파일도 선택할 수 있습니다. 각 덩어리에 대해 몇 가지 작업을 묻는 메시지가 표시됩니다. y - stash this hunk n - do not stash this hunk q - quit; do not stash this hunk or any of the remaining ones a - stash this hunk and all later hunks in the file d - do not stash this hunk or any of t..

개발관련/Git 2021.10.01

'git reset --hard HEAD'를 사용하여 이전 커밋으로 되돌리는 방법

질문 : 'git reset --hard HEAD'를 사용하여 이전 커밋으로 되돌리려면 어떻게해야합니까? 나는 Git이 내 응용 프로그램에 대한 변경 사항을 추적하고 변경 사항을 커밋 할 때까지 유지한다는 것을 알고 있지만 여기에서 중단 된 부분입니다. 이전 커밋으로 되돌리려면 다음을 사용합니다. git reset --hard HEAD Git은 다음을 반환합니다. HEAD is now at 820f417 micro 그런 다음 하드 드라이브의 파일을 이전 커밋으로 되돌리려면 어떻게합니까? 내 다음 단계는 다음과 같습니다. git add . git commit -m "revert" 하지만 내 하드 드라이브에서 변경된 파일이 없습니다 ... 내가 옳고 그름을 무엇입니까? 답변 git reset --hard 는..

개발관련/Git 2021.10.01

Windows의 Git Bash에서 'git diff' 결과를 종료하는 방법

질문 : Windows의 Git Bash에서 'git diff'결과를 어떻게 종료합니까? Windows 7에서 Git Bash 를 사용 git diff 실행하면 다음과 같이 표시됩니다. 그러나 일반 프롬프트로 돌아갈 수 없습니다. Ctrl +C를 누르면 작동하는 것처럼 보이지만 명령 입력을 시작하자마자 해당 이미지에서 (END) 답변 Q 를 눌러야한다고 생각합니다. 출처 : https://stackoverflow.com/questions/9929457/how-do-i-exit-the-results-of-git-diff-in-git-bash-on-windows

개발관련/Git 2021.09.30

[오류] gpg failed to sign the data fatal: failed to write commit object[Git 2.10.0]

질문 : gpg가 데이터에 서명하지 못했습니다. 커밋 개체를 쓰지 못했습니다. [Git 2.10.0] Git 2.10 릴리스 노트 의 예쁜 속성에 대한 몇 가지 기사를 따랐습니다. git을 2.10.0으로 업그레이드하고 다음과 같이 .gitconfig [filter "lfs"] clean = git-lfs clean %f smudge = git-lfs smudge %f required = true [user] name = xyz email = abc.def@gmail.com signingkey = AAAAAAA [core] excludesfile = /Users/xyz/.gitignore_global editor = 'subl' --wait [difftool "sourcetree"] cmd = opend..

개발관련/Git 2021.09.30

Git이 프록시 서버에서 작동 - "Request timed out"로 실패 해결 방법

질문 : Git이 프록시 서버에서 작동하도록하기- "요청 시간 초과"로 실패 Git에서 프록시 서버를 사용하려면 어떻게해야합니까? Git 서버에서 코드를 확인해야하는데 매번 "Request timed out"이 표시됩니다. 이 문제를 어떻게 해결합니까? 또는 프록시 서버를 어떻게 설정할 수 있습니까? 답변 사용할 명령 : git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080 proxyuser 를 프록시 사용자로 변경하십시오. proxypwd 를 프록시 암호로 변경하십시오. proxy.server.com 을 프록시 서버의 URL로 변경하십시오. 8080 을 프록시 서버에 구성된 프록시 포트로 변경하십시오. 이것은 htt..

개발관련/Git 2021.09.30

푸시되지 않은 git 커밋을 삭제하는 방법

질문 : 푸시되지 않은 git 커밋을 어떻게 삭제합니까? 우연히 잘못된 지점에 맡겼습니다. 해당 커밋을 어떻게 삭제합니까? 답변 수행 한 작업을 유지하면서 가장 최근 커밋을 삭제합니다. git reset --soft HEAD~1 가장 최근 커밋을 삭제하고 수행 한 작업을 삭제합니다. git reset --hard HEAD~1 출처 : https://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits

개발관련/Git 2021.09.30

Git에 가장 적합한 시각적 병합 도구에 대해서

질문 : Git에 가장 적합한 시각적 병합 도구는 무엇입니까? Git에서 병합을보고 편집하는 데 가장 적합한 도구는 무엇입니까? 별도의 패널에 "mine", "theirs"및 "ancestor"와 네 번째 "출력"패널이있는 3 방향 병합보기를 얻고 싶습니다. 또한 해당 도구를 호출하는 지침이 좋을 것입니다. (나는 여전히 kdiff3를 오류가 발생하지 않는 방식으로 시작하는 방법을 찾지 못했습니다.) 내 OS는 Ubuntu입니다. 답변 Meld 는 무료 오픈 소스 및 크로스 플랫폼 (UNIX / Linux, OSX, Windows) diff / merge 도구입니다. 설치 방법은 다음과 같습니다. 우분투 맥 Windows : "권장되는 Windows 용 Meld 버전은 https://meldmerge.o..

개발관련/Git 2021.09.29

로컬 파일 시스템에서 삭제하지 않고 Git 저장소에서 파일 제거하는 방법

질문 : 로컬 파일 시스템에서 삭제하지 않고 Git 저장소에서 파일 제거 내 초기 커밋에는 일부 로그 파일이 포함되었습니다. *log 를 내 .gitignore 추가했으며 이제 저장소에서 로그 파일을 제거하고 싶습니다. git rm mylogfile.log 저장소에서 파일을 제거하지만 로컬 파일 시스템에서도 제거합니다. 파일의 로컬 사본을 삭제 하지 않고 리포지토리에서이 파일을 제거하려면 어떻게해야합니까? 답변 man 파일에서 : --cached 가 주어지면 스테이징 된 콘텐츠는 브랜치의 끝이나 디스크의 파일과 일치해야하므로 파일이 인덱스에서만 제거 될 수 있습니다. 따라서 단일 파일의 경우 : git rm --cached mylogfile.log 단일 디렉토리의 경우 : git rm --cached -..

개발관련/Git 2021.09.28

.gitignore 제외 폴더이지만 특정 하위 폴더 포함

질문 : .gitignore 제외 폴더이지만 특정 하위 폴더 포함 .gitignore 추가하는 application/ 폴더가 있습니다. application/ 폴더 안에는 application/language/gr 폴더가 있습니다. 이 폴더를 어떻게 포함시킬 수 있습니까? 나는 이것을 시도했다 application/ !application/language/gr/ 운없이 ... 답변 application/ 을 제외하면 그 아래에있는 모든 항목이 항상 제외됩니다 (나중에 일부 부정적인 제외 패턴 ( "unignore")이 application/ 아래의 항목과 일치하더라도). 원하는 작업을 수행하려면 "무시"하려는 모든 상위 디렉토리를 "무시"해야합니다. 일반적으로이 상황에 대한 규칙을 쌍으로 작성하게됩니다...

개발관련/Git 2021.09.27

커밋 메시지로 Git 저장소를 검색하는 방법

질문 : 커밋 메시지로 Git 저장소를 검색하는 방법은 무엇입니까? 커밋 메시지 "Build 0051"과 함께 일부 소스 코드를 GIT로 확인했습니다. 그러나 해당 소스 코드를 더 이상 찾을 수없는 것 같습니다. 명령 줄을 사용하여 GIT 저장소에서이 소스를 어떻게 추출합니까? 최신 정보 SmartGIT를 사용하여 버전 0043, 0044, 0045 및 0046을 체크인했습니다. 0043을 체크아웃하고 다른 지점에서 0051까지 버전을 체크인했습니다. 0043을 다시 체크아웃했습니다 지금은 0051이 사라졌습니다. 최신 정보 소스 코드는 확실히 거기에 있습니다. 이제 그것을 확인하는 문제입니다. C:\Source>git log -g --grep="0052" commit 77b1f718d19e5cf46e2..

개발관련/Git 2021.09.17

Git 브랜치를 마스터로 병합하는 가장 좋은 (가장 안전한) 방법

질문 : Git 브랜치를 마스터로 병합하는 가장 좋은 (가장 안전한) 방법은 무엇입니까? master 에서 새 브랜치가 생성되면 test 라고합니다. master 하거나 다른 브랜치를 생성하고 나중에 master 로 병합하는 여러 개발자가 있습니다. test 작업에 며칠이 걸리고 master 내부의 커밋으로 test 를 지속적으로 업데이트하고 싶다고 가정 해 보겠습니다. test 에서 git pull origin master 할 것입니다. 질문 1 : 이것이 올바른 접근 방식입니까? 다른 개발자는 내가 btw에서 작업 한 것과 동일한 파일로 쉽게 작업 할 수 있습니다. test 에 대한 내 작업 master 다시 병합 할 준비가되었습니다. 내가 생각할 수있는 두 가지 방법은 다음과 같습니다. A: git..

개발관련/Git 2021.09.17

다른 git 병합 전략 사용 시기

질문 : 다른 git 병합 전략을 언제 사용합니까? git-merge의 man 페이지에서 사용할 수있는 병합 전략이 많이 있습니다. resolve -3 방향 병합 알고리즘을 사용하여 두 개의 헤드 (즉, 현재 분기와 가져온 다른 분기) 만 해결할 수 있습니다. 교차 병합 모호성을주의 깊게 감지하려고 시도하며 일반적으로 안전하고 빠른 것으로 간주됩니다. 재귀 -3 방향 병합 알고리즘을 사용하여 두 개의 머리 만 해결할 수 있습니다. 3 방향 병합에 사용할 수있는 공통 조상이 둘 이상인 경우 공통 조상의 병합 트리를 생성하고이를 3 방향 병합에 대한 참조 트리로 사용합니다. 이는 Linux 2.6 커널 개발 기록에서 가져온 실제 병합 커밋에 대해 수행 된 테스트에서 잘못된 병합을 일으키지 않고 병합 충돌을 ..

개발관련/Git 2021.09.16

.gitconfig에서 여러 사용자를 지정하는 방법

질문 : .gitconfig에서 여러 사용자를 지정할 수 있습니까? ~/.gitconfig [user] 아래에 개인 이메일 주소를 나열합니다. 이것이 Github 저장소에 사용하고 싶은 것이기 때문입니다. 하지만 최근에 git을 업무용으로 사용하기 시작했습니다. 우리 회사의 git repo를 사용하면 커밋 할 수 있지만 새 변경 집합에 대한 알림을 보낼 때 내 .gitconfig 의 이메일 주소를 인식하지 못하기 때문에 Anonymous에서 보낸 것이라고 말합니다. 적어도 그것은 내 이론입니다. .gitconfig [user] 정의를 지정할 수 있습니까? 아니면 특정 디렉토리에 대한 .gitconfig 를 재정의하는 다른 방법이 있습니까? ~/worksrc/ 모든 작업 코드를 확인합니다.-해당 디렉토리 ..

개발관련/Git 2021.09.16

git pull 실행 취소, 저장소를 이전 상태로 가져 오는 방법

질문 : git pull 실행 취소, 저장소를 이전 상태로 가져 오는 방법 내 소스 / 리포지토리가 git pull을 수행하기 전의 이전 상태가되도록 git pull을 되돌 리거나 실행 취소하는 방법이 있습니까? 내가 원하지 않는 일부 파일을 병합했지만 나머지 파일 만 병합했기 때문에 이것을하고 싶습니다. 그래서, 그 파일을 되찾고 싶습니다. 가능합니까? 편집 : 설명을 위해 git merge를 실행 취소하고 싶습니다. 몇 가지 답을보고 나서 이렇게했습니다 git reflog bb3139b... HEAD@{0}: pull : Fast forward 01b34fa... HEAD@{1}: clone: from ...name... 이제 어떻게해야합니까? git reset --hard 해도 괜찮습니까? 다시는 ..

개발관련/Git 2021.09.16

Git에서 복제 된 프로젝트에서 버전 추적을 제거하는 방법

질문 : Git에서 복제 된 프로젝트에서 버전 추적을 제거하려면 어떻게해야합니까? 프로젝트 디렉토리에서 모든 버전 추적을 제거하고 싶습니다. 이를 수행하는 올바른 방법은 무엇입니까? 다음과 같은 쉘 명령을 수행 할 수 있습니까? rm -rf .git 내 프로젝트 디렉토리에서 또는 Git 명령으로 이것을 수행하는 방법이 있습니까? 이 프로젝트를 사용하여 Git을 배우고 프로젝트 초기에 이동, 이름 변경 및 삭제 된 파일로 실수를했다는 것을 깨달았습니다. 모든 Git 추적을 제거하고 git init 새로 시작하고 싶습니다. 답변 Git이 정보에 사용하는 모든 데이터는 .git/ 저장되므로 제거하면 잘 작동합니다. 물론 작업 복사본이 원하는 정확한 상태인지 확인하십시오. 다른 모든 항목은 손실 될 수 있습니다..

개발관련/Git 2021.09.15

선호하는 diff 도구/뷰어를 사용하여 'git diff' 출력을 보는 방법

질문 : 선호하는 diff 도구 / 뷰어로 'git diff'출력을 보려면 어떻게해야합니까? git diff 입력하면 선택한 시각적 diff 도구 (Windows의 SourceGear "diffmerge")를 사용하여 출력을보고 싶습니다. 이를 위해 git을 어떻게 구성합니까? 답변 Git1.6.3부터 git difftool 스크립트를 사용할 수 있습니다. 아래 내 대답을 참조하십시오. 이 기사 가 도움이 될 수 있습니다. 다음은 가장 좋은 부분입니다. 외부 차이 도구를 지정하는 방법에는 두 가지가 있습니다. 첫 번째는 GIT_EXTERNAL_DIFF 변수를 설정하여 사용한 방법입니다. 그러나 변수는 실행 파일의 전체 경로를 가리켜 야합니다. 또한 GIT_EXTERNAL_DIFF로 지정된 실행 파일은 고..

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