Say I want a new git command, git new, that makes a new branch that is up to date with origin/master.
Is there a way I can make this script and have it available in all repositories on Windows from powershell?
edit: To clarify I want a git script not a powershell function. The only reason I mentioned powershell is because I don't use git bash.
Create a batch file that contains the following commands:
git branch %1 origin/master git checkout %1
Save it, let's say, as
C:\Scripts\new-branch.cmd. (I never worked with PowerShell, I don't know its rules. However, it should work as well using the old Windows Command Prompt).
Test the batch file works as expected by running:
It should output something along these lines:
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'.
If you don't need the new branch to track the remote branch then you just add
--no-track to the
git branch command.
If everything goes well then run:
git config --global alias.new '!C:/Scripts/new-branch.cmd'
This makes the
new available to your Windows profile in all repositories. If you need it only in one repository then remove
--global and run the command when the current directory is in the repository where you need it.
Use it as:
git new test2