TortoiseGit บันทึกการตรวจสอบผู้ใช้ / ข้อมูลรับรอง


286

มีวิธีการบันทึกGITHUB's user credentialsด้วย TortoiseGit หรือไม่?

มันแจ้งให้ฉันโต้ตอบด้านล่างทุกครั้งที่ฉันจะผลัก / ดึง

ฉันต้องการบันทึกข้อมูลรับรองผู้ใช้ของฉันที่ไหนสักแห่งเหมือนที่ฉันทำกับ TortoiseSVN

ป้อนคำอธิบายรูปภาพที่นี่


1
ดูเพิ่มเติมที่: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi

คุณยังสามารถใช้ตัวจัดการข้อมูลประจำตัวเพื่อบันทึก / จัดการข้อมูลประจำตัว stackoverflow.com/a/31782500/730676
user730676

คำตอบ:


351

สำหรับ TortoiseGit 1.8.1.2 หรือใหม่กว่าจะมี GUI เพื่อเปิด / ปิดตัวช่วยข้อมูลประจำตัว

มันสนับสนุนและgit-credential-wincredgit-credential-winstore

TortoiseGit 1.8.16 เพิ่มการสนับสนุนสำหรับgit-credential-manager(Git Credential Manager ผู้สืบทอดของgit-credential-winstore)

ในครั้งแรกที่คุณซิงค์คุณจะถูกถามถึงผู้ใช้และรหัสผ่านคุณจะป้อนพวกเขาและพวกเขาจะถูกบันทึกไว้ในที่เก็บข้อมูลรับรอง Windows มันจะไม่ถามผู้ใช้หรือรหัสผ่านในครั้งถัดไปที่คุณซิงค์

วิธีใช้: คลิกขวา→ TortoiseGit →การตั้งค่า→ Git →ข้อมูลรับรอง เลือกผู้ช่วยข้อมูลรับรอง: wincred - ที่เก็บนี้เท่านั้น / wincred - ผู้ใช้ Windows ปัจจุบัน

ป้อนคำอธิบายรูปภาพที่นี่


40
เรียบร้อย ตอนนี้ฉันจะใช้มันได้อย่างไร
BlueRaja - Danny Pflughoeft

16
คลิกขวา -> TortoiseGit -> การตั้งค่า -> Git -> ข้อมูลรับรอง เลือกผู้ช่วยข้อมูลรับรอง: wincred - this repository only/wincred - current Windows user
linquize

33
ไม่คุณต้องเปิดใช้งานผู้ช่วยข้อมูลรับรองก่อน ในครั้งแรกที่คุณซิงค์คุณจะต้องถามผู้ใช้และรหัสผ่านคุณจะป้อนรหัสผ่านและรหัสผ่านเหล่านั้นจะถูกบันทึกไว้ในที่เก็บข้อมูลรับรอง Windows มันจะไม่ถามผู้ใช้หรือรหัสผ่านในครั้งถัดไปที่คุณซิงค์
linquize

7
หมายเหตุ: สิ่งนี้จะไม่ทำงานหากชื่อผู้ใช้ของคุณมี@! อย่างน้อยสำหรับฉันนี่เป็นข้อผิดพลาดที่รายงาน: github.com/msysgit/msysgit/issues/258
OschtärEi

5
สำหรับ TortoiseGit 1.8.16 ขึ้นไปให้ติดตั้ง Git Credential Manager สำหรับ Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - จากนั้นทำตามคำแนะนำด้านบน GCM ยังจัดการเครดิตสำหรับ git ภายใน Cygwin / babun ซึ่งเป็นสิ่งที่ดี
DrStrangepork

68

หากคุณกำลังจะลงคะแนนคำตอบนี้

ฉันเขียนสิ่งนี้เมื่อสองสามเดือนก่อนที่จะมีการรวมของข้อมูลประจำตัว git ใน TortoiseGit จากจำนวนช่องโหว่ความปลอดภัยขนาดใหญ่ที่พบในช่วงไม่กี่ปีที่ผ่านมาและจำนวนที่ฉันได้เรียนรู้เกี่ยวกับความปลอดภัยของเครือข่ายฉันขอแนะนำให้คุณใช้คีย์ SSH (ขั้นต่ำ 2048 บิตขั้นต่ำ) สำหรับเซิร์ฟเวอร์ทุกเครื่องที่คุณเชื่อมต่อ

ไวยากรณ์ด้านล่างยังคงมีอยู่แม้ว่าจะมีเครื่องมือที่ดีกว่าในปัจจุบันเช่นเดียวgit-credentialกับคำตอบที่ได้รับการยอมรับจะบอกวิธีใช้ ทำเช่นนั้นแทน


ลองเปลี่ยน URL ระยะไกลในการhttps://username@github.com/username/repo.gitที่usernameเป็นชื่อผู้ใช้ GitHub ของคุณและrepoเป็นชื่อของพื้นที่เก็บข้อมูลของคุณ

หากคุณยังต้องการที่จะเก็บรหัสผ่านของคุณ (ไม่แนะนำ) URL https://username:password@github.com/username/repo.gitจะมีลักษณะเช่นนี้

นอกจากนี้ยังมีวิธีอื่นในการจัดเก็บรหัสผ่านจากบทความช่วยเหลือ GitHub นี้: https://help.github.com/articles/set-up-git#password-caching


ฉันจะดู URL ระยะไกลได้จากที่ใด ในการตั้งค่า -> ระยะไกล -> URL ว่างเปล่า แต่ฉันได้รับ git url เมื่อฉันโคลนครั้งแรก
Murali Murugesan

2
คลิกที่ "แหล่งกำเนิด" ในเมนูระยะไกลเพื่อแสดง URL
Robert Rouhani

ฉันคิดว่ามันใช้งานได้ แต่ไม่สามารถตรวจสอบได้ในขณะที่ฉันได้รับ 'git ไม่ได้ออกอย่างหมดจด (รหัสทางออก 128)'
Murali Murugesan

อุ๊ปส์ดึง URL จากตัวอย่างเก่า ๆ ดูอย่างรวดเร็วเกี่ยวกับหนึ่งใน repos ของฉันแสดงให้เห็นว่าจริง ๆ แล้ว URL ควร: https://username@github.com/username/repo.gitที่ทั้งสองกรณีusernameเป็นชื่อผู้ใช้ของคุณ อัปเดตคำตอบ
Robert Rouhani

1
วิธีนี้แก้ปัญหาได้เร็วขึ้นและง่ายขึ้น: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi

25

คำตอบข้างต้นไม่ได้ผลสำหรับฉันที่ใช้ git รุ่น 1.8.3.msysgit.0 และ TortoiseGit 1.8.4.0

ในสถานการณ์เฉพาะของฉันฉันต้องเชื่อมต่อ repo git ระยะไกลผ่าน HTTPS โดยใช้ที่อยู่อีเมลแบบเต็มเป่าเป็นชื่อผู้ใช้ ในสถานการณ์เช่นนี้wincredดูเหมือนจะไม่ทำงาน

การใช้ที่อยู่อีเมลเป็นส่วนหนึ่งของ repo URL ก็ใช้งานไม่ได้เนื่องจากซอฟต์แวร์ดูเหมือนจะสับสนโดยมีตัวอักษร '@' ปรากฏอยู่สองครั้งใน URL

winstoreฉันไม่จัดการที่จะเอาชนะปัญหาโดยใช้ นี่คือสิ่งที่ฉันทำ:

นี้จะคัดลอกไปยังไดเรกทอรีท้องถิ่นและเพิ่มสองสายที่จะทั่วโลกของคุณgit-credential-winstore.exe คุณสามารถตรวจสอบโดยการตรวจสอบทั่วโลกของคุณ.gitconfig .gitconfigสิ่งนี้ทำได้ง่ายที่สุดโดยใช้ปุ่มเมาส์ขวาบนโฟลเดอร์ "TortoiseGit> การตั้งค่า> Git> แก้ไข. gitconfig ทั่วโลก" ไฟล์ควรมีสองบรรทัดเช่น:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • ไม่ต้องการการตั้งค่า TortoiseGit อื่น ๆ ภายใต้ "เครือข่าย" หรือ "ข้อมูลรับรอง" โดยเฉพาะอย่างยิ่ง: เมนูแบบเลื่อนลง "ข้อมูลรับรองผู้ช่วย" ใต้ "ข้อมูลรับรอง" จะว่างเปล่าเนื่องจากบรรทัดการกำหนดค่าเหล่านี้เนื่องจาก TortoiseGit ไม่รู้จักตัวช่วยใหม่ อย่าตั้งค่าเมนูแบบเลื่อนลงเป็นค่าอื่นมิฉะนั้นไฟล์. gitconfig ทั่วโลกจะถูกเขียนทับด้วยค่าที่ไม่ถูกต้อง! (*)

ตอนนี้คุณพร้อมที่จะไป:

  • ลองดึงจากที่เก็บระยะไกล คุณจะสังเกตเห็นป๊อปอัพรับรองความถูกต้องถามชื่อผู้ใช้และรหัสผ่านของคุณป๊อปอัพควรจะแตกต่างจากการมองเห็นเริ่มต้น TortoiseGit ป๊อปอัพ นี่เป็นสัญญาณที่ดีและใช้winstoreงานได้ดี ป้อนการรับรองความถูกต้องที่ถูกต้องและการดึงควรจะประสบความสำเร็จ
  • ลองตัวดึงซ้ำอีกครั้งและไม่ควรถามชื่อผู้ใช้และรหัสผ่านของคุณ

ทำ! เพลิดเพลินกับการโต้ตอบของคุณกับ repo ระยะไกลในขณะที่winstoreดูแลการตรวจสอบ

(*) อีกวิธีหนึ่งหากคุณไม่ชอบการเลือกว่างในเมนูตัวช่วยการตั้งค่า TortoiseGit Credential คุณสามารถใช้ตัวเลือก "ขั้นสูง":

  • ไปที่ "TortoiseGit> การตั้งค่า> ข้อมูลรับรอง"
  • เลือกผู้ช่วยข้อมูลรับรอง "ขั้นสูง"
  • คลิกที่ "G" (สำหรับทั่วโลก) ภายใต้ผู้ช่วยเหลือ
  • ป้อนเส้นทางตัวช่วยดังนี้ หมายเหตุ:สัญกรณ์พา ธ Windows ปกติ (เช่น "C: \ Users ... ") จะไม่ทำงานที่นี่คุณต้องทำซ้ำบรรทัดที่แน่นอนซึ่งการติดตั้งที่winstoreสร้างขึ้นในส่วนกลาง.gitconfโดยไม่ต้องใช้บิต "helper ="

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • คลิกปุ่ม "เพิ่มใหม่ / บันทึก"


คุณชี้ให้ฉันในทิศทางที่ถูกต้อง เพียงต้องการใช้ "ผู้ใช้ Windows ปัจจุบัน" และป้อนชื่อผู้ใช้ไม่ใช่ที่อยู่อีเมล นั่นแก้ไขทุกอย่าง
Razze

ฉันดีใจที่มันช่วยคุณได้ถูกทาง! อย่างไรก็ตามจุดในกรณีของฉันจะต้องทำอย่างแน่นอนกับการใช้ที่อยู่อีเมล สิ่งนี้มีเครื่องหมาย "@" และจะทำให้เกิดปัญหาหากคุณลองสูตรอื่นอย่างใดอย่างหนึ่ง
แพทริค Atoon

2
อืม,% 40 เป็นรหัสสำหรับ '@' ดังนั้นหากคุณลองใช้ ' myEmail%40gmail.com@github.com/username/repo.git ' คุณจะสามารถใส่ที่อยู่อีเมลของคุณใน. config ยังไม่แนะนำ แต่ มันเป็นไปได้.
Tom Padilla

นี่เป็นวิธีที่ถูกต้องและเหมาะสมในการทำเช่นนี้ ดาวน์โหลดตัวติดตั้งจากMicrosoft / Git-Credential-Manager-for-Windows / releaseจากนั้นคลิกขวาที่setup.exeไฟล์และเรียกใช้ในฐานะผู้ดูแลระบบ

8

สำหรับ msysgit 1.8.0 ให้ดาวน์โหลด git-credential-wincred.exe จากhttps://github.com/downloads/msysgit/git/git-gred-credential-wincred.zipและใส่ C: \ Program Files \ Git \ libexec \ git -core

สำหรับ msysgit 1.8.1 ขึ้นไป exe นั้นมีมาให้แล้ว

ใน git config เพิ่มการตั้งค่าต่อไปนี้

[ข้อมูลประจำตัว] helper = wincred


คุณพบ Tortoise Git 1.8.1.2 ที่ไหน ฉันเห็นเฉพาะ 1.8.1.0 ในไซต์ของพวกเขา
Ken Sykora

TortoiseGit 1.8.1.2 เป็นรุ่นทดลองใช้
linquize

8

กำลังบันทึกชื่อผู้ใช้และรหัสผ่านด้วย TortoiseGit

การบันทึกรายละเอียดการเข้าสู่ระบบของคุณใน TortoiseGit นั้นค่อนข้างง่าย ประหยัดไม่ต้องพิมพ์ชื่อผู้ใช้และรหัสผ่านของคุณเวลาที่คุณทำดึงหรือผลักดันทุก

  1. สร้างไฟล์ชื่อ _netrc โดยมีเนื้อหาดังต่อไปนี้:

    เครื่อง github.com
    เข้าสู่ระบบ yourlogin
    รหัสผ่าน yourpassword

  2. คัดลอกไฟล์ไปที่ C: \ Users \ (หรือตำแหน่งอื่นซึ่งเกิดขึ้นกับที่ฉันใส่ไว้)

  3. ไปที่พรอมต์คำสั่งพิมพ์ setx home C: \ Users \

หมายเหตุ: หากคุณกำลังใช้งานก่อนหน้า Windows 7 คำสั่ง setx อาจไม่ทำงานสำหรับคุณ ใช้การตั้งค่าแทนและเพิ่มตัวแปรสภาพแวดล้อมภายในบ้านให้กับ Windows โดยใช้ผ่านการตั้งค่าขั้นสูงภายใต้ My Computer

เครดิตถึง: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


2
นั่นคือทางออกที่ดีที่สุด! แต่คุณสามารถอธิบายความสัมพันธ์ระหว่างไฟล์ _netrc และ git ได้หรือไม่ สามารถจัดเก็บไฟล์นี้มากกว่าหนึ่งดินแดน?
อเล็กซ์ Byrth


8

หากคุณเป็นหน้าต่าง 10 + TortoiseGit ผู้ใช้ 2.7:

  1. สำหรับการเข้าสู่ระบบครั้งแรกเพียงทำตามคำแนะนำเพื่อป้อนข้อมูลประจำตัวของคุณและบันทึกรหัสผ่าน
  2. หากคุณต้องการอัปเดตข้อมูลประจำตัวของคุณอย่าเสียเวลาในการตั้งค่า TortoiseGit ค้นหา windows> Credential Manager> Windows Credentials> ค้นหารายการ git ของคุณแทน> แก้ไข

นี่คือคำตอบที่คุณกำลังมองหาหากคุณเปลี่ยนรหัสผ่าน Windows ของคุณและการตรวจสอบ Git ไม่ทำงานอีกต่อไป ... ใน Windows เยอรมันให้ค้นหา "Anmeldeinformationsverwaltung"
อังเดร

OMG ขอบคุณ ฉันรู้ว่าเราไม่ควรเพิ่มความคิดเห็นด้วยขอบคุณ แต่ขอบคุณ !!
Stephen Hazel

0

ไปที่ repo โครงการคลิกขวา -> 'Git Bash Here'

ในประเภททุบตี git windows

cd ~
pwd

ฉันจะได้รับบางสิ่งบางอย่างเช่นนี้

/c/Users/<windows_username>

ตอนนี้คัดลอกกุญแจสาธารณะและกุญแจส่วนตัวของคุณไปยังเส้นทางนี้

C:\Users\<windows_username>\.ssh

ฉันได้ไฟล์ด้านล่างนั่น

id_rsa
id_rsa.pub
known_hosts

ที่นี่

ตอนนี้เมื่อใดก็ตามที่จำเป็นต้องใช้ข้อมูลประจำตัวมันจะใช้ไฟล์เหล่านี้และแจ้งรหัสผ่านหากจำเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.