https://github.com/xenoinc/codedevops
DevOps for Git commands and Visual Studio shortcuts. This serves as the DevOps standards for Xeno Innovations software development
https://github.com/xenoinc/codedevops
devops git powershell stylecop xeno-devops xeno-innovations
Last synced: 18 days ago
JSON representation
DevOps for Git commands and Visual Studio shortcuts. This serves as the DevOps standards for Xeno Innovations software development
- Host: GitHub
- URL: https://github.com/xenoinc/codedevops
- Owner: xenoinc
- License: gpl-3.0
- Created: 2019-01-18T21:40:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-08T16:12:44.000Z (7 months ago)
- Last Synced: 2025-03-27T10:08:22.493Z (7 months ago)
- Topics: devops, git, powershell, stylecop, xeno-devops, xeno-innovations
- Language: PowerShell
- Homepage:
- Size: 163 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
- Roadmap: docs/Roadmap.md
Awesome Lists containing this project
README
# PowerShell DevOps
Xeno Innovations' DevOps (Development Operations) command line tool provides users a quick-set of **Git command helpers** and **project configs** to increase your productivity via PowerShell.
The **Git helpers** provide shortcuts for popular commands such as, `gitpull`, `gitpush`, `gitcommit`, so you don't have to remember switches. Also provides, `gitsync`, which synchronizes your current branch with `develop` (by default) or a branch of our choosing.
The `devops` command provides project configurations to ensure all projects stay aligned with the same ruleset.
Since our primary focus is on projects made with Visual Studio and VS Code, the rule sets cover a wide range of C# for Xamarin/MAUI, desktop and ASP.NET Core, as well as C/C++ (including Arduino).
This project started as an internal tool used by Xeno Innovations and Suess Labs - _hence the focus on git and the default ``develop`` branch_. We'll do our best to keep things generic for the open source community.
## Installation
1. Download or clone the repo
* `CD C:\`
* `git clone https://github.com/xenoinc/CodeDevOps.git BuildTools`
2. Set your ``Path`` **Environment Variables** to your extracted folder.
3. Enable, PowerShell Execution Policy (_see below_)
* `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser`
4. Close and re-open any open command prompts
5. _Enjoy!_## Road map
* Install / update Xeno-DevOps from CLI
* Create new project folder template
* Makes standard folder structure, readme, MSBuild, rules, etc.```text
`.---.` ``.---.
`:ohmmNNNNNmho. `-+osysoo+oyh:
.ohyo/:---:+ymNNm+ `/shy+:.` .dm`
`+h+-` .+dNNhhs:. /Nm.
`ys- `sNNd. `oNNo`
`y+` /hsdNh` `+dNd+`
os` .hh:`yNo `:ymNh+.
.h- /ms. `dd- `./ohmdy+-`
:y` ```+Nh:-:oNhosyyys+/-`
`+h/+oo-.. ydNmysosms:-..`
`:osyhd+/::--...`.dNo` :d/` .`
`+hs:-`-h` /NN+`oh: s:
`yd:` `+` sNNhhs- `d-
/Ns oNNm/` oy`
+Nm/` `-ohmNNh. `oh-
-hNNdo:.`````.:+ydy/.:dNNNs-` `/yo.
.smNNNNNNNNNNmy+-` .smNNNNdhyyhh+-
`:+ossso+:-` `:+syyyo/-`-- Xeno Innovations --
```## [GitSync](https://github.com/xenoinc/XenoDevOps/wiki/GitSync)
Synchronizes (`merge`) your current branch with another branch; using `develop` by default.
### Usage
Syncing your branch with the latest develop branch.
#### Xeno-DevOps Solution
```powershell
[feature/MyBranch]> GitSync
Sync complete!
```#### Old Stinky Method
```powershell
[feature-MyBranch]> git checkout develop
[develop]> git pull
[develop]> git checkout feature-MyBranch
[feature-MyBranch]> git merge develop
```## [GitCheckout](https://github.com/xenoinc/XenoDevOps/wiki/GitCheckout)
Checks out your branch in the following execution order
1. Attempt locally
2. Attempt on ``origin``
3. Fetch, then try ``origin`` again.Note: _In the future we will provide the option for a different remote_
### Usage
```powershell
GitCheckout MyBranch
GitCheckout feature/MyBranch
GitCheckout "feature/MyBranch"
```## [GitCommit](https://github.com/xenoinc/XenoDevOps/wiki/GitCommit)
Commits changes with provided message. Optionally ``push``es up branch.
### Usage
```powershell
GitCommit "My message" -push
GitCommit "My message" -push
```## [GitPrune](https://github.com/xenoinc/XenoDevOps/wiki/GitPrune)
Fetch and prune your repository.
#### Usage
```powershell
GitPrune ; Fetch and prune
```### [GitPush](https://github.com/xenoinc/XenoDevOps/wiki/GitPush)
Pushes your branch to ``origin`` without the annoying prompt when you're not tracking
#### Usage
* ``GitPush`` - Pushes your branch without tracking current branch
* ``GitPush -track`` Pushes up branch and sets to track your branch, giving accessibility to ``git push`` in the future.### [GitStatus](https://github.com/xenoinc/XenoDevOps/wiki/GitStatus)
Report stats about your current branch
#### Usage
```powershell
GitStatusResults ===========================================
Name Value
---- -----
Branch-Name: feature/VsTemplates
Ahead-Count: 0
Ahead: False
Untracked: False
Added-Files: 0
Modified-Files: 0
Deleted: 1
GitStatus completed.
```## PowerShell Execution Policies
Sample commands for getting execution policy
```powershell
# Get current policy
get-executionpolicy# Get list of policy
get-executionpolicy -list# Get Current User's policy
get-executionpolicy -scope currentuser# Sets a policy
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```## References
Sponsored by, Suess Labs