728x90
반응형

git 301

Git에서 "origin"에 대한 설명

질문 : Git에서 "원산지"는 무엇입니까? 내가 실행할 때 : git push origin branchname origin 가 정확히 무엇이며 분기 이름 앞에 입력해야하는 이유는 무엇입니까? 답변 origin 은 특정 원격 저장소 에 대한 시스템 의 별칭입니다. 실제로 해당 저장소의 속성이 아닙니다. 함으로써 git push origin branchname origin 리포지토리로 푸시하라는 뜻입니다. 원격 저장소 origin 이름을 지정할 필요가 없습니다. 실제로 동일한 저장소가 다른 개발자에 대해 다른 별칭을 가질 수 있습니다. 원격은 단순히 저장소의 URL을 저장 하는 별칭입니다. 다음을 사용하여 각 리모컨에 속한 URL을 확인할 수 있습니다. git remote -v push 명령에서 리모컨 을..

개발관련/Git 2021.11.23

git-merge --dry-run 옵션

질문 : git-merge --dry-run 옵션이 있습니까? 충돌이 많은 원격 지점에서 병합하고 있습니다. 충돌 여부를 어떻게 알 수 있습니까? git-merge 에서 --dry-run 과 같은 것은 보이지 않습니다. 답변 이전에 언급했듯이 --no-commit 플래그를 전달하되 빨리 감기 커밋을 방지하려면 다음과 같이 --no-ff $ git merge --no-commit --no-ff $BRANCH 단계적 변경을 조사하려면 다음을 수행하십시오. $ git diff --cached 그리고 빨리 감기 병합 인 경우에도 병합을 취소 할 수 있습니다. $ git merge --abort 출처 : https://stackoverflow.com/questions/501407/is-there-a-git-mer..

개발관련/Git 2021.11.23

.gitignore에 추가 한 후 원격 저장소에서 디렉토리 제거

질문 : .gitignore에 추가 한 후 원격 저장소에서 디렉토리 제거 나는 일부 디렉토리를 github에 커밋하고 푸시했습니다. 그 후 무시해야 할 디렉토리를 추가 .gitignore 모든 것이 잘 작동하지만 (이제 무시 된) 디렉토리는 github에 남아 있습니다. github 및 저장소 기록에서 해당 디렉토리를 어떻게 삭제합니까? 답변 .gitignore 파일의 규칙은 추적되지 않는 파일에만 적용됩니다. 해당 디렉터리에있는 파일이 이미 저장소에 커밋되었으므로 해당 파일을 언 스테이징하고 커밋을 만든 다음 GitHub에 푸시해야합니다. git rm -r --cached some-directory git commit -m 'Remove the now ignored directory "some-dire..

개발관련/Git 2021.11.22

Git 리포지토리의 하위 디렉터리만 복제하는 방법

질문 : Git 리포지토리의 하위 디렉터리 만 복제하려면 어떻게해야합니까? 루트에 두 개의 하위 디렉토리가있는 Git 저장소가 있습니다. /finisht /static 이것이 SVN에 있을 때, /finisht 는 한 곳에서 체크 아웃되고 /static 은 다른 곳에서 체크 아웃되었습니다. svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static 힘내로 이것을 할 수있는 방법이 있습니까? 답변 편집 : Git 2.19 부터이 답변 에서 볼 수 있듯이 마침내 가능합니다. 그 대답을 찬성하는 것을 고려하십시오. 참고 : Git 2.19에서는 클라이언트 측 지원 만 구현되고 서버 측 지원은 여전히 누락되어 로컬 리포지토리를 복제 할 때만..

개발관련/Git 2021.11.22

로컬 Git 브랜치를 원격의 마스터 브랜치로 푸시하는 방법

질문 : 로컬 Git 브랜치를 원격의 마스터 브랜치로 어떻게 푸시합니까? 내 로컬 리포지토리에 develop이라는 브랜치를 가지고 있으며 원본으로 푸시 할 때 원본 / 마스터와 병합되는지 확인하고 싶습니다. 현재 푸시하면 원격 개발 브랜치에 추가됩니다. 어떻게 할 수 있습니까? 답변 $ git push origin develop:master 또는 더 일반적으로 $ git push : 출처 : https://stackoverflow.com/questions/5423517/how-do-i-push-a-local-git-branch-to-master-branch-in-the-remote

개발관련/Git 2021.11.22

Git의 비밀번호를 업데이트 하는 방법

질문 : Git의 비밀번호를 어떻게 업데이트합니까? 버전 제어를 위해 Xcode 및 Git과 함께 BitBucket을 사용하고 있으며 최근에 모든 암호를 변경했습니다 ( Adobe 감사합니다! ). 당연히 더 이상 내 로컬 커밋을 BitBucket의 내 저장소로 푸시 할 수 없지만 ( Authentication failed for 'https://______.git' ) iMac에서 캐시 된 비밀번호를 업데이트하는 방법을 잊어 버렸습니다. 어떻게 든 Google 또는 Stack Overflow에서 찾을 수 없었지만 다소 간단해야합니다 ... 답변 macOS에서이 문제를 해결하려면 다음을 사용할 수 있습니다. git config --global credential.helper osxkeychain 다음 G..

개발관련/Git 2021.11.22

Git 충돌 마커

질문 : Git 충돌 마커 원격 지점에서 가져온 후 충돌이 발생했습니다. 파일을 열면 다음과 같습니다. > 77976da35a11db4580b80ae27e8d65caf5208086:file.txt 마커에 대한 설명이 필요합니다. 코드의 어느 부분이 원격에서 가져오고 어느 부분이 로컬에서 가져 오나요? 77976da35a11db4580b80ae27e8d65caf5208086 은 무엇을 의미합니까? 답변 > 77976da35a11db4580b80ae27e8d65caf5208086:file.txt ... 다른 (풀링 된) 커밋에 의해 도입 된 것입니다 (이 경우 77976da35a11 . HEAD 에 병합 된 커밋의 객체 이름 (또는 "hash", "SHA1sum"등)입니다. 커밋 (버전), blob (파일)..

개발관련/Git 2021.11.19

Gitignore가 작동하지 않을 때 해결 방법

질문 : Gitignore가 작동하지 않음 내 .gitignore 파일이 어떤 이유로 작동하지 않으며 인터넷 검색을 통해 문제를 해결할 수 없습니다. 내가 가진 것은 다음과 같습니다. *.apk *.ap_ *.dex *.class **/bin/ **/gen/ .gradle/ build/ local.properties **/proguard/ *.log 내 git repo 인 master 디렉토리에 있습니다. OSX 10.8.6을 실행하는 MacBook을 사용하고 있기 때문에 Git 1.8.4.2를 실행하고 있습니다. 답변 .gitignore 추가했다는 이유만으로 자신을 삭제하지 않습니다. 이미 저장소에 있으며 제거해야합니다. 다음과 같이 할 수 있습니다. 이 작업을 수행하기 전에 변경 한 모든 것을 수행하..

개발관련/Git 2021.11.18

Git mergetool을 생성할 때 .orig 파일을 생성하지 않는 방법

질문 : Git mergetool은 원하지 않는 .orig 파일을 생성합니다. Kdiff3 (및 내가 시도한 다른 병합 도구)로 병합 충돌 해결을 수행 할 때 해결시 *.orig 파일이 생성되는 것을 발견했습니다. 추가 파일을 만들지 않는 방법이 있습니까? 답변 git config 에서 가능한 솔루션 : git config --global mergetool.keepBackup false 병합을 수행 한 후 충돌 마커가있는 원본 파일을 .orig 확장자를 가진 파일로 저장할 수 있습니다. 이 변수가 false 로 설정되면이 파일이 보존되지 않습니다. 기본값은 true (예 : 백업 파일 유지). 대안은이 gitguru 기사 에서 제안한대로 해당 파일을 추가하거나 무시하지 않는 것입니다. git merget..

개발관련/Git 2021.11.18

단계적 변경 사항 만 git에 숨길 수 있는 방법

질문 : 단계적 변경 사항 만 git에 숨길 수 있습니까? 단계적 변경 사항 만 숨길 수있는 방법이 있습니까? 내가 문제가되는 시나리오는 주어진 시간에 여러 버그에 대해 작업하고 몇 가지 단계되지 않은 변경 사항이있는 경우입니다. 이러한 파일을 개별적으로 준비하고 .patch 파일을 만들고 코드가 승인 될 때까지 숨길 수 있기를 바랍니다. 이렇게하면 승인되면 전체 (현재) 세션을 숨기고 해당 버그를 표시하고 코드를 푸시 할 수 있습니다. 내가 잘못된 방향으로 가고 있습니까? git이 내 프로세스를 단순화하기 위해 다른 방식으로 어떻게 작동하는지 오해하고 있습니까? 답변 예, DOUBLE STASH로 가능합니다. 저장해야 하는 모든 파일을 준비합니다. "git stash --keep-index"를 실행합니..

개발관련/Git 2021.11.18

Git 커밋 범위에서 이중 점 “..”과 삼중점 “…”의 차이점

질문 : Git 커밋 범위에서 이중 점“..”과 삼중점“…”의 차이점은 무엇입니까? 일부 Git 명령은 커밋 범위를 사용하고 하나의 유효한 구문은 두 개의 점 .. 으로 두 개의 커밋 이름을 구분하는 것이고 다른 구문은 세 개의 점을 사용하는 ... 둘의 차이점은 무엇입니까? 답변 log 명령을 diff 명령을 사용하는지에 따라 다릅니다. log 경우 man git-rev-parse 문서에 있습니다. 커밋에서 도달 할 수있는 커밋을 제외하기 위해 접두사 ^ 표기가 사용됩니다. 예를 들어 ^ r1 r2는 r2에서 도달 할 수있는 커밋을 의미하지만 r1에서 도달 할 수있는 것은 제외합니다. 이 집합 연산은 너무 자주 나타나서 그것에 대한 속기가 있습니다. 두 개의 커밋 r1 및 r2 (위의 개정판 지정에 설..

개발관련/Git 2021.11.18

Git을 사용하여 원격 저장소에 태그를 푸시하는 방법

질문 : Git을 사용하여 원격 저장소에 태그를 어떻게 푸시합니까? 원격 Git 저장소를 랩톱에 복제 한 다음 태그를 추가하고 싶었으므로 실행했습니다. git tag mytag master 랩톱에서 git tag 를 실행하면 mytag 태그가 표시됩니다. 그런 다음이 태그를 모든 클라이언트에 대해 원격 저장소로 푸시하고 싶습니다. 그래서 git push 실행했지만 메시지가 나타납니다. 모든 최신 정보 그리고 내 데스크톱으로 이동하여 git pull 실행 한 다음 git tag 하면 태그가 표시되지 않습니다. 또한 프로젝트의 파일을 약간 변경 한 다음 서버로 푸시하려고했습니다. 그 후 서버에서 데스크톱 컴퓨터로 변경 사항을 가져올 수 있지만 데스크톱 컴퓨터에서 git tag 를 실행할 때 여전히 태그가 없..

개발관련/Git 2021.11.17

git reset --hard HEAD ~ 1을 실행 취소 하는 방법

질문 : git reset --hard HEAD ~ 1을 어떻게 실행 취소 할 수 있습니까? 다음 명령으로 인한 변경 사항을 취소 할 수 있습니까? 그렇다면 어떻게? git reset --hard HEAD~1 답변 Pat Notz가 맞습니다. 며칠 이내에 커밋을 되돌릴 수 있습니다. git은 새로운 blob을 제거하도록 명시 적으로 지시하지 않는 한 약 한 달 정도 후에 만 가비지 수집을 수행합니다. $ git init Initialized empty Git repository in .git/ $ echo "testing reset" > file1 $ git add file1 $ git commit -m 'added file1' Created initial commit 1a75c1d: added file..

개발관련/Git 2021.11.17

.gitignore 파일에 주석을 사용하는 방법

질문 : .gitignore의 주석? .gitignore 파일에 주석을 쓸 수 있습니까? 그렇다면 줄 앞에 # 또는 다른 표시기가 있어야합니까? 답변 예, 거기에 댓글을 달 수 있습니다. 그러나 줄의 시작 부분에서 시작해야합니다. cf. http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Ignoring-Files .gitignore 파일에 넣을 수있는 패턴에 대한 규칙은 다음과 같습니다. -#로 시작하는 빈 줄이나 줄은 무시됩니다. […] 주석 문자는 # . 예 : # no .a files *.a 출처 : https://stackoverflow.com/questions/8865848/comments-in-gitignore

개발관련/Git 2021.11.17

Git은 원격 분기 목록을 고치는 시기

질문 : Git은 언제 원격 분기 목록을 새로 고치나요? git branch --all 사용하면 모든 원격 및 로컬 분기가 표시됩니다. Git은 언제이 목록을 새로 고치나요? 당기기 / 밀기? 그리고 Git Bash를 사용하여 어떻게 새로 고치나요? 답변 원격 분기의 로컬 목록을 업데이트하려면 : git remote update origin --prune (로컬) Git이 알고있는 모든 로컬 및 원격 분기를 표시하려면 git branch -a 출처 : https://stackoverflow.com/questions/36358265/when-does-git-refresh-the-list-of-remote-branches

개발관련/Git 2021.11.17

기존 Git 분기가 원격 분기를 추적하도록 하는 방법

질문 : 기존 Git 분기가 원격 분기를 추적하도록 하시겠습니까? 원격 분기를 추적하는 새 분기를 만드는 방법을 알고 있지만 기존 분기가 원격 분기를 추적하도록하려면 어떻게해야합니까? .git/config 파일을 편집 할 수 있지만 더 쉬운 방법이있을 것 같습니다. 답변 foo 및 원격 upstream 주어지면 : Git 1.8.0부터 : git branch -u upstream/foo 또는 로컬 브랜치 foo 가 현재 브랜치가 아닌 경우 : git branch -u upstream/foo foo 또는 더 긴 명령을 입력하려는 경우 위의 두 가지 명령과 동일합니다. git branch --set-upstream-to=upstream/foo git branch --set-upstream-to=upstrea..

개발관련/Git 2021.11.17

Git 저장소를 특정 커밋으로 롤백 (재설정)하는 방법

질문 : Git 저장소를 특정 커밋으로 롤백 (재설정)하는 방법은 무엇입니까? Git 저장소를 복제 한 다음 개발 프로세스 초기에 특정 커밋으로 롤백하려고했습니다. 그 이후에 저장소에 추가 된 모든 것은 나에게 중요하지 않으므로 로컬 소스 코드에서 모든 후속 변경 사항을 생략하고 싶습니다. 그러나 GUI 도구에서 롤백하려고하면 로컬 파일 시스템이 업데이트되지 않습니다. 항상 프로젝트의 최신 소스 코드로 끝납니다. 프로젝트 기록의 특정 커밋으로 저장소의 소스를 가져오고 이후의 모든 업데이트를 생략하는 올바른 방법은 무엇입니까? 답변 git reset --hard 메모: --hard 옵션이없는 git reset 은 커밋 기록을 재설정하지만 파일은 재설정하지 않습니다. --hard 옵션을 사용하면 작업 트리의..

개발관련/Git 2021.11.17

Git 커밋 후크 건너 뛰기

질문 : Git 커밋 후크 건너 뛰기 Python 코드에서 인쇄 문을 찾는 git hook을보고 있습니다. print 문이 발견되면 git 커밋을 방지합니다. 이 후크를 재정의하고 싶습니다. 이렇게하려면 명령이 있다고 들었습니다. 나는 그것을 찾을 수 없었다. 이견있는 사람? 답변 아마도 ( git commit man page에서 ) : git commit --no-verify -n --no-verify 이 옵션은 pre-commit 및 commit-msg 후크를 우회합니다. githooks (5) 도 참조하십시오. Blaise가 언급 했듯이 -n 은 특정 명령에 대해 다른 역할을 할 수 있습니다. 예를 들어 git push -n 은 실제로 드라 이런 푸시입니다. git push --no-verify 만..

개발관련/Git 2021.11.16

"git export"(예 : "svn export")를 수행하는 방법

질문 : "git export"(예 : "svn export")를 수행합니까? .git 저장소 디렉토리없이 트리의 복사본을 만드는 좋은 "git export"솔루션이 있는지 궁금합니다. 내가 아는 적어도 세 가지 방법이 있습니다. 이러한 솔루션 중 어느 것도 만족스럽지 않습니다. svn export 가장 가까운 것은 옵션 1 일 수 있습니다. 둘 다 대상 디렉토리가 먼저 비어 있어야하기 때문입니다. 그러나 트리를 인덱스로 읽는 것이 무엇을 의미하는지 알아낼 수 있다고 가정하면 옵션 2가 더 좋아 보입니다. 답변 아마도 이것을 달성하는 가장 간단한 방법은 git archive 입니다. 확장 된 트리 만 정말로 필요한 경우 다음과 같이 할 수 있습니다. git archive master | tar -x -C..

개발관련/Git 2021.11.16

가장 최근 커밋으로 정렬 된 Git 브랜치 목록을 얻는 방법

질문 : 가장 최근 커밋으로 정렬 된 Git 브랜치 목록을 얻으려면 어떻게해야합니까? 맨 위에 "가장 최신"분기가있는 Git 저장소의 모든 분기 목록을 얻고 싶습니다. 여기서 "가장 최신"분기는 가장 최근에 커밋 된 분기입니다 (따라서 하나 일 가능성이 더 높습니다). 나는 주목하고 싶다). Git을 사용하여 (a) 최신 커밋별로 분기 목록을 정렬하거나 (b) 기계 판독 가능한 형식으로 각 분기의 마지막 커밋 날짜와 함께 분기 목록을 가져올 수있는 방법이 있습니까? 최악의 경우, 항상 git branch 를 실행하여 모든 분기 목록을 가져오고 출력을 구문 분석 한 다음 git log -n 1 branchname --format=format:%ci for each one, to get each branch..

개발관련/Git 2021.11.16

Git에서 마스터에서 브랜치로 변경 사항 가져 오기

질문 : Git에서 마스터에서 브랜치로 변경 사항 가져 오기 내 저장소에는 내가 작업중인 aq master 에서 새로운 작업과 버그를 작성했습니다. aq 브랜치로 가져 오는 가장 좋은 방법은 무엇입니까? master 다른 새 브랜치를 만들고 aq ? 답변 아웃 확인 aq 지점을, 그리고에서 리베이스 master . git checkout aq git rebase master 출처 : https://stackoverflow.com/questions/5340724/get-changes-from-master-into-branch-in-git

개발관련/Git 2021.11.16

Git에서 충돌하는 파일을 나열하는 가장 간단한 방법

질문 : Git에서 충돌하는 파일을 나열하는 가장 간단한 방법은 무엇입니까? 충돌하는 파일의 일반 목록이 필요합니다. 다음보다 더 간단한 것이 있습니까? git ls-files -u | cut -f 2 | sort -u 또는: git ls-files -u | awk '{print $4}' | sort | uniq alias 을 설정할 수 있다고 생각하지만 전문가가 어떻게하는지 궁금합니다. 예를 들어 충돌을 자동 해결하기 위해 쉘 루프를 작성하는 데 사용합니다. mergetool.cmd 에 연결하여 루프를 대체 할 수 있습니까? 답변 git diff --name-only --diff-filter=U 출처 : https://stackoverflow.com/questions/3065650/whats-the-s..

개발관련/Git 2021.11.15

git stash create로 만든 stash을 삭제하는 방법

질문 : git stash create로 만든 숨김을 삭제하는 방법은 무엇입니까? git stash; git stash pop 같이 스크립트하기가 조금 어렵다는 점을 제외하면 내가 원하는 많은 작업을 수행하는 것 같습니다. git stash; git stash pop 은 저장소에 변경 사항이있는 경우와 다른 작업을 수행합니다. git stash create 가 그 문제에 대한 답인 것처럼 보이며 한 가지를 제외하고는 모든 것이 작동합니다. 생성 된 숨김을 제거 할 수 없습니다. 은신처를 제거 할 방법이 있습니까? 내가하는 일을 100 % 명확하게하려면 : 숨김 만들기 : ~/tmp/a(master) $ git stash create 60629375d0eb12348f9d31933dd348ad0f038435..

개발관련/Git 2021.11.15

Git에서 로컬 분기를 원격 분기로 완전히 바꾸는 방법

질문 : Git에서 로컬 분기를 원격 분기로 완전히 바꾸는 방법은 무엇입니까? 두 가지 지점이 있습니다. 최근에 나는 지역 지부를 심각하게 엉망으로 만들었습니다. 로컬 브랜치를 완전히 원격 브랜치로 바꾸려면 어떻게해야 원격 브랜치가있는 곳에서 작업을 계속할 수 있습니까? 나는 이미 SO를 검색했으며 로컬에서 원격 지점으로 체크 아웃해도 효과가 없습니다. 답변 (Zoltán의 의견에서 ) 교체하려는 분기를 확인했는지 확인하십시오. 마스터가 교체 할 로컬 브랜치이고 "origin / master"가 재설정하려는 원격 브랜치라고 가정합니다. git reset --hard origin/master 이렇게하면 원본 / 마스터와 동일한 개정이되도록 로컬 HEAD 분기가 업데이트되고 --hard 는이 변경 사항을 인..

개발관련/Git 2021.11.15

일반 Git 저장소를 베어 저장소로 변환하는 방법

질문 : 일반 Git 저장소를 베어 저장소로 변환하는 방법은 무엇입니까? '일반'Git 저장소를 베어 저장소로 어떻게 변환 할 수 있습니까? 주요 차이점은 다음과 같습니다. 일반 Git 저장소에는 모든 관련 데이터와 작업 사본을 구성하는 다른 모든 파일이 포함 된 저장소 내부에 .git 베어 Git 저장소에는 작업 복사본이 없으며 폴더 ( repo.git 라고 부름)에는 실제 저장소 데이터가 포함되어 있습니다. 답변 간단히 말해서 repo 의 내용을 repo/.git 의 내용으로 바꾼 다음 저장소에 이제 베어 저장소라고 알립니다. 이렇게하려면 다음 명령을 실행하십시오. cd repo mv .git ../repo.git # renaming just for clarity cd .. rm -fr repo cd..

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