여러 컴퓨터 간에 TortoiseGit 설정을 공유하는 방법

6844 단어 tortoisegit
official documentation 말한다:

If you want to export all your client settings to use on another computer you can do so using the Windows registry editor regedt32.exe. Go to the registry key HKCU\Software\TortoiseGit and export it to a reg file. On the other computer, just import that file again (usually, a double click on the reg file will do that).

Remember to save Git's general settings, which you can find in the Git configuration file .gitconfig and/or the folder .config/git which both are located in your user profile directory.



불행히도 일반적으로 그렇게 간단하지 않을 수 있습니다.
  • 서로 다른 TortoiseGit 설치 간에 공유해서는 안 되는 몇 가지 값이 있습니다. 현재 버전.
  • 설치 간에 공유하고 싶지 않은 값이 있습니다. HKEY_CURRENT_USER\SOFTWARE\TortoiseGit\History 하위 키 아래에 설치되어 있습니다(집과 직장에 각각 하나씩 설치되어 있는 경우).
  • 일부 값은 구성을 기본값과 다르게 변경할 때만 생성됩니다. 예를 들어 새 설치에는 상황에 맞는 메뉴 구성에 대한 값이 없습니다. 다른 새 설치에서 .reg 파일을 사용한다면 문제가 되지 않습니다. 그러나 다른 설치에 이미 기본이 아닌 구성에 대한 값이 있는 경우 .reg 파일을 가져와서 기본이 아닌 구성을 기본 구성으로 덮어쓰지 않습니다.

  • 따라서 공유하려는 모든 값을 신중하게 선택해야 합니다. 기본값을 공유하려면 먼저 기본값에서 벗어나 레지스트리에 값을 저장한 다음 다시 기본값으로 되돌려 레지스트리에 저장해야 합니다.

    완전한 솔루션을 제공할 수는 없지만 설치 간에 공유하고 싶은 설정을 안내하고 PowerShell로 설정하는 방법을 보여드리겠습니다.

    설정 > 일반 > 컨텍스트 메뉴



    값의 이름은 ContextMenuEntries 및 ContextMenuEntrieshigh(ContextMenuEntriesHigh 아님)로 지정됩니다. 그것들은 각 비트가 선택되거나 선택되지 않은 상황에 맞는 메뉴 항목을 나타내는 비트 필드의 두 절반인 것처럼 보입니다.

    모든 항목을 선택하고 저장하고 기본값으로 복원한 다음 다시 저장하여 레지스트리에 표시되도록 할 수 있습니다. 작성 당시 TortoiseGit 2.13.0.1을 사용하여 기본값은 각각 1030과 20(10진수 표기법)입니다.

    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit" "ContextMenuEntries" 1030
    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit" "ContextMenuEntrieshigh" 20
    


    설정 > 일반 > 컨텍스트 메뉴 2



    값의 이름은 ContextMenuExtEntriesLow 및 ContextMenuExtEntriesHigh로 지정되며 상황에 맞는 메뉴의 값과 유사하게 작동합니다.

    작성 당시 기본값은 각각 40000000과 12000입니다.

    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit" "ContextMenuExtEntriesLow" 40000000
    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit" "ContextMenuExtEntriesHigh" 12000
    


    설정 > Diff 뷰어



    사용자 지정 diff 뷰어를 구성하면 호출하는 명령이 Diff라는 값에 저장됩니다. 기본 제공 diff 뷰어를 사용하려면 이 값이 없거나 # 접두사가 있어야 합니다.

    $DiffMergePath = "C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe"
    $DiffMergeArguments = "/title1=%bname /title2=%yname %base %mine"
    $Value = $DiffMergePath + " " + $DiffMergeArguments
    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit" "Diff" $Value
    


    설정 > Diff 뷰어 > 병합 도구



    이는 Merge라는 값을 사용하여 diff 뷰어와 유사하게 작동합니다.

    $DiffMergePath = "C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe"
    $DiffMergeArguments = 
        "/merge /caption=%mname /result=%merged /title1=%yname /title2=%bname /title3=%tname %mine %base %theirs"
    $Value = $DiffMergePath + " " + $DiffMergeArguments
    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit" "Merge" $Value
    


    로그 대화상자 > 열



    열 구성은 HKEY_CURRENT_USER\SOFTWARE\TortoiseGit\StatusColumns 하위 키에 있습니다. 나는 logloglist와 logloglist_Order에만 관심이 있습니다.

    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit\StatusColumns" "logloglist" 1f1
    Set-ItemProperty "HKCU:\SOFTWARE\TortoiseGit\StatusColumns" "logloglist_Order" "000102030405060809070A0B0C0D"
    


    GitHub에서 내 개인 구성 스크립트를 찾을 수 있습니다.
    Set-TortoiseGitSettings.ps1 .

    좋은 웹페이지 즐겨찾기