나는 GitHub
내 리눅스 셸에서 내 저장소에 지속적으로 커밋을 해왔으며 웹 사이트에 제대로 표시됩니다. 유일한 문제는 "참여"섹션에 최근 활동이 표시되지 않는다는 것입니다. 내가 가지고 어떻게 모르지만 다른 모든 기여는 달력에 표시되지 않습니다 (그러나 다시, 그들은 11 월에 언젠가부터 하나의 녹색 사각형이 않는 자신의 repos에 표시합니다.
내가 여기에 놓친 거지?
나는 GitHub
내 리눅스 셸에서 내 저장소에 지속적으로 커밋을 해왔으며 웹 사이트에 제대로 표시됩니다. 유일한 문제는 "참여"섹션에 최근 활동이 표시되지 않는다는 것입니다. 내가 가지고 어떻게 모르지만 다른 모든 기여는 달력에 표시되지 않습니다 (그러나 다시, 그들은 11 월에 언젠가부터 하나의 녹색 사각형이 않는 자신의 repos에 표시합니다.
내가 여기에 놓친 거지?
답변:
이것은 때때로 업데이트 메커니즘이 작동하지 않고 "부실한 캐시"로 변하는 Github 문제입니다. 이것은 심각한 문제가 아닙니다. 문제를 설명하는 이메일을 support@github.com으로 보내면 즉시 해결해드립니다.
자식에서
GoTime2 저장소에 대한 귀하의 기여를 엿 보았고 레이아웃 브랜치에 커밋을 밀어 넣은 것 같습니다.
이러한 기여가 표시되지 않는 이유는 저장소의 기본 브랜치 또는 gh-pages 브랜치에 작성된 커밋 기여 만 추적하기 때문입니다.
기여한 내용이 기본 또는 gh- 페이지에 병합되면 작성한 날짜에 크레딧을 받게됩니다.
그래서 제 경우에는 캘린더에 '귀하의 기여'가 표시되는 것을보기 위해 '레이아웃'브랜치를 '마스터'브랜치와 병합해야했습니다.
master
브랜치에 병합하면 어떨까요? 내 기여가 '기고 물'달력에 기록됩니까?
나 에게이 문제는 gitconfig에서 다른 이메일을 사용하는 직장 컴퓨터에서 커밋했기 때문에 발생했습니다. 내 직장 이메일 주소를 github 계정에 추가해도 과거 커밋이 요약에 표시되지는 않았지만 이제 새 커밋이 정상적으로 표시됩니다.
에서 저장소에 사용중인 이메일 주소를 찾을 수 있습니다 git config user.email
.
git config user.email <my email>
와 커밋 기선을 제압 당했지만, 지금은 내 커밋을 추적합니다. 나는 14 시간 동안 일하면서 새로운 리포지토리를 만들고 전체 알파 버전을 작성하는 날이 있기 때문에 다음에 그들의 지원을 쓸 것입니다. 그러나 나는 그것에 대해 열었던 이슈에 대한 활동 만 가지고 있습니다.
$pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email"
. 그러면 기여를 올바르게 계산해야합니다.
이에 대한 가능한 원인 :
포크로 만든 커밋
포크에서 만든 커밋은 기여에 포함되지 않습니다.
https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/
"github 계정에 로그인 할 때 사용한 것과 동일한 이메일 ID로 변경 사항을 적용해야합니다."
해결 방법 :
git config --global user.email abc@xyz.com
git config user.email abc@xyz.com
이메일 = abc@xyz.com 이름 = abc
다른 원인은 https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/ 에서 찾을 수 있습니다.
로컬 이메일이 계정에있는 이메일과 정확히 일치하는지 확인하십시오.
터미널로 이동하여 커밋을 푸시하고있는 폴더 내에서 다음을 실행합니다.
git config --global user.email
#=> TRICULI.TO@MAIL.com
git config --system user.email
#=>
git config --local user.email
#=> triculito@mail.com
비슷한 일이 저에게 일어났습니다. 내 계정의 이메일은 --global에있는 이메일 이었지만 --local은 약간 달랐고 '.'이 없었습니다.
(Gmail에서는 이러한 이메일간에 차이가 없으며 똑같이 작동합니다).
따라서 이것은 일반적으로이 GitHub 도움말을 방문해야하는 많은 요인으로 인해 발생합니다.
내가 찾은 가장 일반적인 실수는 다음과 같습니다.
개인적으로 최근에 문제 1이 발생하여 터미널 / cmd / cli 로 이동하여이 명령을 실행하여 내 이메일 주소를 로컬로 구성했습니다.
git config --global user.email yourname@email.address
완료되면 다음과 같이이 구성을 다시 실행 해보십시오.
git config --global user.email
다음을 볼 수 있어야합니다.
yourname@email.address
이것이 올바르다면 글로벌 공용 저장소로 로컬 머신을 성공적으로 구성한 것입니다. 이제 다음 커밋이 캘린더에 반영됩니다.
아마도 Github가이 문제를 해결했을 것입니다. 한 가지 간단한 방법이 있습니다. github.com 이메일 설정으로 이동 하십시오 : https://github.com/settings/emails
개인 설정-> 이메일
거기에 이메일 주소를 추가하고 확인 링크를 보내 새 이메일 주소를 확인하면 이전 커밋이 모두 '참여'캘린더에 기록되어 있음을 알 수 있습니다. 또한이 이메일 확인을 통해 GitHub에서 알림 및 비밀번호 재설정을받을 수 있습니다.
새 이메일 주소는 계정 관련 알림 (예 : 계정 변경 및 청구 영수증)과 웹 기반 GitHub 작업 (예 : 편집 및 병합)에 사용됩니다.
then you will find your previous commits are all recorded in the 'Your Contributions
calendar` <-이 문장이 옳지 않은 것 같습니다.이 단계는 시간이 걸리나요?
iOS 개발 용 Xcode 9에서 동일한 문제가 발생했습니다.
Xcode에서 커밋했지만. '참여'캘린더에 기여한 내용이 없습니다.
해결책:
커미터 이름 및 이메일 전역 변경
커밋에 사용되는 이메일 주소는 GitHub 계정과 연결되어야합니다.
터미널에서 :
$ git config --global user.name "Full Name"
$ git config --global user.email "fullname@gmail.com"
GitHub 도움말 : Git에서 커밋 이메일 주소 설정을 참조하세요.
나는 같은 문제가 있었고 이것은 나를 위해 일했습니다 : GitHub 기여 검사기, 아래 링크. 일단 설치되면 프로그램은 최근 커밋의 유효성을 확인하고 규칙 / 규칙이 빨간색으로 충족되지 않은 규칙 목록을 제공합니다.
내 문제는 GitHub가 Cygwin 터미널 이름을 이메일 주소로 사용했기 때문에 Cygwin 터미널 이름을 내 프로필에 추가했고 모든 최근 커밋이 내 GitHub 캘린더에 추가되었습니다.
귀하의 커밋은 기여로 간주되지 않습니다! 아래 세부 정보를 확인하십시오 : https://github.com/jdennes/contribution-checker
https://github.com/settings/emails 로 이동하여 git config --global user.email과 함께 사용중인 이메일을 추가 할 수 있습니다.
똑같은 문제가 있었는데, 내 로컬 git의 이메일이 내 GitHub 계정의 이메일과 일치하지 않기 때문입니다.
로컬 컴퓨터에서 이메일을 업데이트하려면 :
git config --global user.email "your.email@email.com"
모든 커밋이 github에서 업데이트되었는지 확인합니다. 그렇지 않은 경우 커밋을 클릭하고 커밋 URL 끝에 ".patch"를 다음과 같이 추가하여 개별 커밋을 확인하여 커밋과 연결된 이메일을 확인할 수 있습니다.
https://github.com/username/repoName/commit/9fbe83f71cfc3503.patch
이제 확인해야 할 이메일을 계정에 추가하기 만하면됩니다 (확인할 필요 없음).
커밋을 다시 확인하면 사용자 이름과 크레딧이 표시됩니다. :)
GitHub는 도움말 에서 기여를 측정하는 방법을 명확하게 설명합니다 .
문제 및 pull 요청 :
커밋 :
다음 조건을 모두 충족하는 경우에만 :
커밋에 사용되는 이메일 주소는 GitHub 계정과 연결됩니다.
커밋은 포크가 아닌 독립형 저장소에서 만들어졌습니다.
커밋이 이루어졌습니다.
또한 다음 중 하나 이상이 참이어야합니다.
참고 : 기여로 계산하기위한 요구 사항을 충족하는 커밋을 한 후 기여도 그래프에 기여도가 표시되는 것을 보려면 최대 24 시간 동안 기다려야 할 수 있습니다.
내 로컬 환경에서 GitHub 프로필의 사용자 이름을 내 git 사용자 이름으로 사용하여 유사한 문제를 해결했습니다.
예를 들어
로컬 git 구성에서 전역 사용자 이름을 susithrj 로 설정하십시오.
git config --global user.name "susithrj"
최근에 랩톱을 복원해야했고 이메일을 git로 재구성하는 것을 잊었습니다. 내 노트북 사용자 이름이 내 자식 사용자 이름과 비슷해 보이므로 맹목적으로 내 커밋이 올바르게 표시되고 있다고 생각했습니다. 게시 된대로 글로벌 이메일 설정을 변경할 수 있습니다. 그러나 프로젝트에서 미스 어트리뷰트 커밋을 수정하려는 경우이 스크립트를 gca
실행하여 git 프로젝트 디렉토리에서 실행할 수 있는 별칭을 생성 하여 과거 커밋의 작성자를 변경할 수 있습니다.
귀하의에서 ~
디렉토리, 추가 :
$ cat <<EOF >> ~/.aliases
function git_change_authorship {
git filter-branch -f --env-filter "
GIT_AUTHOR_NAME=\"\$1\"
GIT_AUTHOR_EMAIL=\"\$2\"
GIT_COMMITTER_NAME=\"\$1\"
GIT_COMMITTER_EMAIL=\"\$2\"
"
}
alias gca=git_change_authorship
EOF
$ source ~/.aliases
그런 다음 git 프로젝트 디렉토리에서 gca <git username> <git email address>
주의! 나는 내가 유일한 커미터였던 내 개인 프로젝트에서만 이것을 사용했습니다. 그룹 프로젝트로 테스트 할 기회가 없었으므로 신중하게 진행하십시오.
이메일을 비공개로 유지하고 기여 내용을 캘린더에 계속 표시 할 수 있습니다. github 이메일 설정 에서 이메일 주소를 비공개로 유지 하고 git 구성에서 github noreply 이메일 주소 를 사용 하도록 선택할 수 있습니다 .
git config user.email "xxxxxxxxxxx@users.noreply.github.com"
노트
저에게는 github 이메일 설정 에서 이메일을 비공개로 유지하기로 선택했습니다 . 이것은 나에게 오류를 주었다
Your push would publish a private email address.
내 저장소로 밀어 넣는 동안. 이메일을 삭제했습니다. 이 후 푸시는 성공했지만 기여가 내 캘린더에 기록되지 않았습니다.
이메일 설정 페이지에서 GitHub에서 언급 한대로
웹 기반 Git 작업 (예 : 편집 및 병합)을 수행하고 사용자를 대신하여 이메일을 보낼 때 공개 프로필 이메일을 제거하고 xxxxxxxxxxx@users.noreply.github.com을 사용합니다. 명령 줄 Git 작업에서 비공개 이메일을 사용하려면 Git에서 이메일을 설정 해야합니다 .
github의 "기여 캘린더"또는 "활동 개요"는 github 계정에 기록 된 메일 주소와 관련된 커밋 만 기록합니다.
이 스레드의 많은 다른 사람들이 이미 언급했듯이 다음을 통해 현재 로컬에 저장된 이메일 주소를 찾습니다.
git config user.email
github의 메일과 일치하지 않으면 다음을 사용하여 변경하십시오.
git config --global user.email my_email@gmail.com
이렇게하면 향후 모든 커밋에 대한 메일 주소가 전역 적으로 변경되지만 과거 커밋에 대한 "기여 개요"에는 영향을주지 않습니다. 자세한 설명 은 공식 문서 를 참조하십시오.
과거의 많은 커밋이 Github "기여 개요"에 올바르게 기록되지 않았다는 것을 알고 있습니다.
이를 변경하려면 공식 github 문서에 설명 된 단계에 따라 저장소의 작성자 정보를 변경할 수 있습니다 .
간략한 요약 :
베어 저장소 복제
git clone --bare https://github.com/user/repo.git
cd repo.git
변수를 변경 한 후 자식 bash는 콘솔에 다음 코드를 붙여 OLD_EMAIL
, CORRECT_NAME
및 CORRECT_EMAIL
:
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
스크립트를 실행하려면 Enter 키를 누르세요.
git push --force --tags origin 'refs/heads/*'
이 절차는 "기여 개요"를 업데이트하고 이전에 표시되지 않은 커밋도 표시해야합니다.
경고 : 이 작업은 저장소 기록을 파괴합니다. 다른 사람과 저장소에서 공동 작업하는 경우 게시 된 기록을 다시 작성하는 것은 나쁜 습관으로 간주됩니다. 이 작업은 응급 상황에서만 수행해야합니다.