簡體   English   中英

Windows 自定義 git 命令

[英]Windows custom git commands

假設我想要一個新的 git 命令 git new,它創建一個與 origin/master 保持同步的新分支。

有什么方法可以制作這個腳本並讓它在 Windows 上的所有存儲庫中從 powershell 中可用?

編輯:為了澄清我想要一個 git 腳本而不是一個 powershell 函數。 我提到 powershell 的唯一原因是因為我不使用 git bash。

創建一個包含以下命令的批處理文件:

git branch %1 origin/master
git checkout %1

將其保存為C:\\Scripts\\new-branch.cmd (我從未使用過 PowerShell,我不知道它的規則。但是,使用舊的 Windows 命令提示符應該也能正常工作)。

通過運行來測試批處理文件是否按預期工作:

C:\Scripts\new-branch.cmd test1

它應該沿着這些行輸出一些東西:

Branch test1 set up to track remote branch master from origin by rebasing.
Switched to branch 'test1'
Your branch is up-to-date with 'origin/master'.

如果您不需要新分支來跟蹤遠程分支,那么您只需將--no-track添加到git branch命令。

如果一切順利,則運行:

git config --global alias.new "!C:/Scripts/new-branch.cmd"

這使得Git別名new可用於所有存儲庫中的 Windows 配置文件。 如果您只在一個存儲庫中需要它,則刪除--global並在當前目錄位於您需要它的存儲庫中時運行該命令。

將其用作:

git new test2

您可以使用使用git checkout的 git別名

git config --global alias.new 'checkout origin/master -b'

然后將其用作git new new_branch

(這相當於git checkout origin/master -b new_branch

請參閱git 文檔以進行結帳 我嘗試了該命令並且它起作用了,但是當我查看文檔時,我沒有找到與我的表單完全匹配的語法。 (最近的是git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]

注意:@axiac,我可能使用了!git是因為它沒有傷害,而且我可能需要執行多個命令來解決問題,並且在我完成后沒有將其刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM