溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

github contribbution沒記錄怎么辦

發(fā)布時間:2021-10-18 10:38:01 來源:億速云 閱讀:99 作者:柒染 欄目:大數(shù)據(jù)

github contribbution沒記錄怎么辦,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

前言

  1. 長期使用GitHub托管代碼的小伙伴可能有發(fā)現(xiàn),有時候?qū)懥藥滋斓拇a,但是發(fā)現(xiàn)contribbution(小綠框并沒有點亮)

  2. 那么什么樣的commit才會被統(tǒng)計到呢,這里從github help上找到了答案,英語不錯的可以看下

中文

  1. Issues 和 pull requests

    • 這個操作是在一年之內(nèi)

    • 這個操作是針對一個獨立的倉庫,不能是fork

  2. Commits 當你的commits滿足以下條件時,它才會被展示出來:

    注意:私有庫的貢獻僅僅對私有庫成員顯示

    • 你是這個倉庫的協(xié)作者,或者是這個版本庫的擁有組織中的一員

    • 你fork過這個倉庫

    • 你對這個倉庫發(fā)起過pull request或者issue

    • 你對這個倉庫標記了Star

    • 在默認分支上(通常是master)

    • 在gh-pages分支(包含 Project Pages sites 的倉庫)

    • 一年之內(nèi)提交的commits

    • commits使用的email地址是與你的Github賬號相關(guān)聯(lián)的

    • 這些commits是在一個獨立的倉庫而不是fork倉庫(博主就是這種錯誤,導致半個月的commit都沒記錄,才發(fā)現(xiàn))

    • 這些commits是在:

    • 此外,至少滿足下面條件中的一個(主要針對你Commit的倉庫不是你創(chuàng)建的):

Contributions未被Github計入的幾個常見原因

* 進行Commits的用戶沒有被關(guān)聯(lián)到你的Github帳號中。
* 不是在這個版本庫的默認分支進行的Commit。
* 這個倉庫是一個Fork倉庫,而不是獨立倉庫。(博主就是這種錯誤)

如何排查

你可以在你的本地repo里用`git log`命令查看`commit`記錄上的個人郵箱是否正確,像我就是因為之前切換到Mac平臺開發(fā)之后用戶名沒有配置,所以我之后的commit記錄上的郵箱一直是mrchang,所以Github就會認為這些commits都不是你提交的!	

補救措施

然而這也并不是沒有補救辦法的,Github官網(wǎng)上就有給出詳細的補救過程,英語好的同學請自行移步 Changing author info,下面是我翻譯自Github Help的簡要步驟:

  1. 變更作者信息

    • 警告: 這種行為對你的 repo 的歷史具有破壞性。如果你的 repo 是與他人協(xié)同工作的,重寫已發(fā)布的歷史是一種不好的習慣。僅限緊急情況執(zhí)行該操作。 使用腳本改變你 repo 的 Git 歷史 我們寫了一段能把 commit 作者舊的郵箱地址修改為正確用戶名和郵箱的腳本。

    • 為改變已經(jīng)存在的 commits 的用戶名和/或郵箱地址,你必須重寫你 Git repo 的整個歷史。

  2. 使用腳本來改變某個repo的Git歷史

    • 我們已經(jīng)創(chuàng)建了一個腳本,使用正確的姓名和電子郵件地址提交后,你以前提交的所有的commits中的作者信息及提交者字段中的舊的用戶名和郵箱地址都將被更正

    • 注意: 執(zhí)行這段腳本會重寫 repo 所有協(xié)作者的歷史。完成以下操作后,任何 fork 或 clone 的人必須獲取重寫后的歷史并把所有本地修改 rebase 入重寫后的歷史中。

    • 在執(zhí)行這段腳本前,你需要準備的信息:

      Mac、Linux下打開Terminal,Windows下打開命令提示符(command prompt)

      給你的repo創(chuàng)建一個全新的clone

      git clone --bare https://github.com/user/repo.git

      cd repo.git

      復制粘貼腳本,并根據(jù)你的信息修改以下變量:舊的Email地址,正確的用戶名,正確的郵件地址

        	`
        	#!/bin/sh
      
        	git filter-branch --env-filter '
      
        	OLD_EMAIL="舊的Email地址"
      
        	CORRECT_NAME="正確的用戶名"
      
        	CORRECT_EMAIL="正確的郵件地址"
      
        	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`


    1. 按 Enter鍵 執(zhí)行腳本。

    2. 用git log命令看看新 Git 歷史有沒有錯誤

    3. 把正確歷史 push 到 Github

      git push --force --tags origin 'refs/heads/*'

    4. 刪掉剛剛臨時創(chuàng)建的 clone

      cd ..

      rm -rf repo.git

  3. 如何正確設(shè)置你的 git 個人信息

    • 接下來全局設(shè)置好你的正確信息,以后就放心的用Github進行版本管理吧

    • git config --global user.email "你的郵件地址"

    • git config --global user.name "你的Github用戶名"

關(guān)于github contribbution沒記錄怎么辦問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI