2021年8月3日 星期二

VScode + git 攜帶版如何把設置擋放在文件夾內而不是使用者文件

VScode + git 攜帶版如何把設置擋放在文件夾內而不是使用者文件

2022-10-07
事隔一年多找到最優解了,如果環境變數能從軟體設置當然是設置就完事了,關鍵是VsCode裡面有不少好用的外掛程序,外掛要讀或是甚至自己在終端機要用也會用不了。

關鍵的解法 Git攜帶版 要比要舒服的使用還是直接新增環境變數吧,兩個方式一個是啟動前在終端機加上臨時變數,然後再給終端機委託啟動。

$env:Path = $env:Path + "C:\git\bin"

另一個是直接加到使用者環境變數而不是系統。為什麼會卡到這個問題最大的原因也是因為公司的電腦基本沒管理員權限的。加到使用者就沒問題了

$UserPath = System.Environment]::GetEnvironmentVariable("PATH", "User")
System.Environment]::SetEnvironmentVariable("PATH", "$UserPath;C:\git\bin", "User")


如果電腦C曹使用者文件被封鎖沒有存取權限,又想要設置User層級的 gitconfig 的話可以更改git的家目錄,設定檔在 git\etc\profile 這檔案裡任意位置加上一行 Home="指定的位置" 就可以改了。




以下是從VsCode上直接設定git位置的舊文,因為有些副作用在建議用上面的做法。










這問題爬好我好一段時間,不知道為什麼沒什麼人提到,雖然說明是有的只是關鍵不知道怎麼下繞了好長的遠路,大概整理一下怎麼弄

VScode

首先先到官方下載,官方本身就有提供攜帶版的,只不過資料還是存在使用文件就是了。要怎麼才能把文件存在攜帶版的資料夾內。

其實就只是在 code.exe 的旁邊建立一個 data 的資料夾就好了,程式會自動會把設定跟擴展檔案丟在裡面。

Git for windows

這個問題更棘手一點,也是沒關鍵字很難找,雖然這個官方本身也是提供攜帶版,但是不知道為什麼設置擋還是存在使用者文件,我所在的環境就是沒權限存在使用者文件,打開直接就報錯…

查了很多文章基本上主流都是用一個 bat 檔來強制導入環境變數,雖然一開始我也是這個思路,但是所在環境嚴苛直接不給跑bat

繞了好大一圈發現其實直接在VScode內設置git的位置就好,然後還要到git內設置全域的gitconfig,設置之後就不會去讀使用者文件的gitconfig了

設置的方式直接點左下角齒輪,打開設置然後搜尋 git.path 自動引導到自制,選擇到 setting.json 內設置,他會幫你補上開頭,直接把git路徑丟進去就好

進去的時候路徑的斜線要自己打成兩個斜線,比如說

"git.path": "C:\\Program Files\\Git\\bin\\git.exe"

這樣就可以過了,剩下的問題就是終端機有時候需要手動輸入命令還是得建立一下。

新增終端機的語法有更新過,網路上大半都舊的不是很好用。大概記錄一新的樣式代碼。

"terminal.integrated.profiles.windows": {
        "UserDefGit": {
            "path": "C:\\Program Files\\Git\\bin\\bash.exe",
            "icon": "terminal-bash"
        }
    }

就長這樣啦,直接看就能理解了。想換圖標可以把後面整串砍掉自己手打 termi 就會跳出有哪些圖標可以用了。

如果要設置某個終端機為預設終端機,每次打開會優先打開的終端可以多打一行

"terminal.integrated.defaultProfile.windows": "UserDefGit"

後面的名稱要配合你自己寫的標籤名稱。你也可以直接從右下角的新增終端的時候,最下面有一個選擇預設值,直接按也可以按完設定會自己跑出上面那行。

最後如何輸入gitconfig位置在

git\etc

這裡是全域設置檔,我不知道怎麼搞出使用者設置擋,但至少全域設置是有效的,這招我從fork上面看來的,在fork上輸入的使用資訊也是存在自帶的git全域設置上。

沒有留言:

張貼留言