newdevs:git:commands
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
newdevs:git:commands [2019/06/28 19:09] – [Other Commands] tmccanna | newdevs:git:commands [2024/08/29 13:34] (current) – sleary | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Git for Windows | + | **New Developers Working Group** |
+ | ====== | ||
- | ===== Useful Commands ===== | + | * '' |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | ==== Git Commands | + | ===== Rebase ===== |
- | * git add myfile.txt --> stage a specific file | + | If your patch is behind |
- | * git add -A --> stage all modified files in the current | + | |
- | * git add . --> (Note the period) stage all modified files in the current directory but not subdirectories | + | |
- | * git branch --> list existing local branches | + | |
- | * git branch mynewbranch --> create a new branch | + | |
- | * git branch -m oldbranchname newbranchname --> change name of branch | + | |
- | * git branch -D branchname --> delete a local branch (cannot delete a branch you currently have checked out, so switch to different branch first) | + | |
- | * git checkout mybranch --> check out an existing branch | + | |
- | * git checkout -b mynewbranch --> create a new branch and check it out at the same time | + | |
- | * git checkout master --> switch to master branch | + | |
- | * git checkout -- docname.tt2 --> resets a file you've changed back to its original state (like an undo / revert changes command) | + | |
- | * git clone < | + | |
- | * git commit --> invoke the default text editor to add a commit message | + | |
- | * git commit -m "my commit message" | + | |
- | * git commit < | + | |
- | * git commit < | + | |
- | * git commit -a --> combine the git add and git commit steps into a single step (does //not// include newly created files) | + | |
- | * git config < | + | |
- | * git config < | + | |
- | * git fetch < | + | |
- | * git help --> access the built-in Git help documentation. | + | |
- | * git log < | + | |
- | * git pull --> imports all updates from your default remote repo to your default local repo (usually, this is equivalent to 'git pull origin master' | + | |
- | * git pull origin master --> import all updates from remote origin repo to local master repo | + | |
- | * git pull < | + | |
- | * git push working mybranchname --> push changes to the remote working directory | + | |
- | * git push working < | + | |
- | * git remote -v --> display remote directories | + | |
- | * git reset HEAD myfile.txt --> unstage a file that has already been staged | + | |
- | * git reset < | + | |
- | * git rm badfile.txt --> delete a file (if the file is being tracked, be sure to add a commit message indicating the file has been deleted) | + | |
- | * git show < | + | |
- | * git status --> display status of current branch | + | |
- | * git version --> displays the installed version of Git | + | |
- | ==== Other Commands ==== | + | - Open the git branch |
+ | - Type: git rebase origin/main --> rebases the current branch to main (you can do this when you have your branch checked out and changes committed, but have not yet pushed it) | ||
+ | - If there are merge conflict errors, type: git status | ||
+ | - Open the file with the problem in your preferred text editor (notepad++, vim, nano, etc.) | ||
+ | - Look for merge conflict markers in the file (>>> | ||
+ | - Type: git add (problem file name) | ||
+ | - Repeat steps 4-6 for each additional problem file | ||
+ | - Type: git rebase < | ||
- | * cd --> move back to the home folder | + | You can also use the interactive rebase mode to look at a series of commits: |
- | * cd foldername --> move from the current folder | + | |
- | | + | - Open the git branch |
- | | + | - Type: '' |
- | | + | - (Optional but recommended) Save this pick list to a separate file, for recovery later if things go wrong |
- | | + | - Choose what to do with each line using the commands listed |
- | | + | - Save and close the "to do" |
- | * notepad++ newdocname.txt --> create a new file and open it in notepad++ | + | - Follow the prompts to complete each step you specified |
- | * notepad++ docname.txt --> edit an existing | + | |
- | | + | |
+ | If you need to start over, just rebase again and paste in your original pick list. | ||
+ | |||
+ | ===== Squash Commits ===== | ||
+ | |||
+ | If you have multiple commits in your local branch that you'd like to combine: | ||
+ | |||
+ | - Use 'git log' to verify that the commits you want to combine are the most recent | ||
+ | - Type '' | ||
+ | - Your text editor will open and should show both of the commits, for example: | ||
+ | * pick 014e59c579 LP#1839359 Select element on login not accessible | ||
+ | * pick 9de92lsi9a LP#1839359 Select element on login not accessible | ||
+ | - Change the word " | ||
+ | * squash --> merges commits, then allows amendment of commit message | ||
+ | * fixup --> merges commits like squash does, but discards previous commit message | ||
+ | - Use "git commit --amend" | ||
+ | - Push the changes up to your remote working directory as normal | ||
+ | * '' | ||
+ | |||
+ | If you've already pushed multiple commits up to your remote working git repository, you can still combine them: | ||
+ | |||
+ | - Follow the steps above, but when pushing, use " | ||
+ | * '' | ||
+ | |||
+ | ===== Aliases ===== | ||
+ | |||
+ | Shortens normal commands so you type less: | ||
+ | |||
+ | < | ||
+ | $ git config alias.co checkout | ||
+ | $ git config alias.cp cherry-pick | ||
+ | $ git config alias.br branch | ||
+ | $ git config alias.ci commit | ||
+ | $ git config alias.st status | ||
+ | </ | ||
newdevs/git/commands.1561763387.txt.gz · Last modified: 2022/02/10 13:34 (external edit)