2010-12-17 25 views
5

我試圖管理一個我沒有但擁有管理員權限的回購請求。當我嘗試從另一個分支引入更改時,它會失敗,並顯示比清除更少的錯誤。這是我的工作流程...用於管理github中共享回購站的請求的工作流

  1. 叉主回購
  2. 請在叉的變化
  3. 提交到叉
    3.5(轉到第2步)
  4. 提交pull請求主回購

作爲主倉庫的管理員,我試圖如下合併這些變化......

  1. git clone [email protected]:dude/project.git
  2. git checkout -b gtracy-master master
  3. git pull http://[email protected]/gtracy/project.git master

輸入我的密碼後,我得到錯誤信息......

error: The requested URL returned error: 401 while accessing 
http://[email protected]/gtracy/project.git/ifno/refs 

這是工作流程錯了嗎?有更簡單的方法來管理我自己的拉取請求嗎?

謝謝!

回答

7

GitHub "pull request" help page沒有提及它,但我更願意在提交任何拉取請求之前重新分配我在原始回購協議之前的分支頂部的分支上完成的工作。
也就是說,我會將原始的repo添加爲遠程,獲取我的pull請求最終應用到的分支,並首先在本地(在我的fork中)重新分配我的工作在該分支上。
這樣我就可以確保我所有的拉動請求都會快進一個。

就你的情況而言,如果你知道原始回購沒有發佈變更,那麼你可能並不適用,因爲你已經分叉並處理了本地回購。

對於第二部分,我將遵循「Merging pull request」部分,並將您的分叉回購作爲原始回購克隆的遠程進行添加。

話雖這麼說,錯誤401「未授權」在GitHub Smart HTTP page中提到:

不要忘了HTTPS部分 - Git會發送您的密碼哈希加密,但通過線路,所以一定使用SSL。
在未來的Git版本中(假設我們的補丁已經集成),Git會提示你輸入用戶名,如果沒有提供,並且客戶端獲得401,那麼你實際上不必將你的用戶名放在URL中 - 它會只是問你什麼時候Git需要它。

因此,如果您想在您的地址中使用用戶名,請嘗試使用https。
或嘗試與http://github.com/gtracy/project.git(公共回購地址)

+0

看起來像我有我的git安裝問題。我無法讓https工作 - 「錯誤設置證書驗證位置」 - 我試着用'git config'來設置'http.sslcainfo',但現在沒有運氣。 – Greg 2010-12-17 23:30:29

+0

我試過以下配置...'git config --system http.sslcainfo \ bin/curl-ca-bundle.crt',現在'git pull https://[email protected]/gtracy/project。 git master'會再次產生相同的401錯誤?! – Greg 2010-12-17 23:34:00

+0

@Greg:奇怪(與您的帳戶/密碼相關的回購有問題嗎?)並與http公共地址? – VonC 2010-12-17 23:41:21