commandDescription
ssh-keygen -t ed25519 -C “[email protected]You can also specify a different key type by replacing rsa with ed25519 or ecdsa if you prefer.
  • Now go to the location where the saved ssh key is. by default at ~/.ssh/.it’ll be named id_ed25519.pub. Depending upon the type of key it may be difficult.
  • Copy it and go to your Github.
  • Go to settings/SSH and GPG keys. Click on new ssh key and paste it.

Run

$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"

to set your account’s default identity. Omit --global to set the identity only in this repository.

Git Commands

CommandDecription
git initInitialize a local Git repository
git clone ssh://[email protected]/[username]/[repository-name].gitCreate a local copy of a remote repository
git statusCheck status
git add [file-name.txt]Add a file to the staging area
git add -AAdd all new and changed files to the staging area
git commit -m "[commit message]"Commit changes
git rm -r [file-name.txt]Remove a file (or folder)
git branchList branches (the asterisk denotes the current branch)
git branch -aList all branches (local and remote)
git branch [branch name]Create a new branch
git branch -d [branch name]Delete a branch
git push origin --delete [branch name]Delete a remote branch
git checkout -b [branch name]Create a new branch and switch to it
git checkout -b [branch name] origin/[branch name]Clone a remote branch and switch to it
git branch -m [old branch name] [new branch name]Rename a local branch
git checkout [branch name]Switch to a branch
git checkout -Switch to the branch last checked out
git checkout -- [file-name.txt]Discard changes to a file
git merge [branch name]Merge a branch into the active branch
git merge [source branch] [target branch]Merge a branch into a target branch
git stashStash changes in a dirty working directory
git stash clearRemove all stashed entries
git push origin [branch name]Push a branch to your remote repository
git push -u origin [branch name]Push changes to remote repository (and remember the branch)
git pushPush changes to remote repository (remembered branch)
git push origin --delete [branch name]Delete a remote branch
git pullUpdate local repository to the newest commit
git pull origin [branch name]Pull changes from remote repository
git remote add origin ssh://[email protected]/[username]/[repository-name].gitAdd a remote repository
git remote set-url origin ssh://[email protected]/[username]/[repository-name].gitSet a repository’s origin branch to SSH
git logView changes
git log --summaryView changes (detailed)
git log --onelineView changes (briefly)
git diff [source branch] [target branch]Preview changes before merging

gh repo commands

gh repo create [<name>] [flags]

commandDecription
--add-readmeAdd a README file to the new repository
-c, --cloneClone the new repository to the current directory
-d, --description <string>Description of the repository
--disable-issuesDisable issues in the new repository
--disable-wikiDisable wiki in the new repository
-g, --gitignore <string>Specify a gitignore template for the repository
-h, --homepage <URL>Repository home page URL
--include-all-branchesInclude all branches from template repository
--internalMake the new repository internal
-l, --license <string>Specify an Open Source License for the repository
--privateMake the new repository private
--publicMake the new repository public
--pushPush local commits to the new repository
-r, --remote <string>Specify remote name for the new repository
-s, --source <string>Specify path to local repository to use as source
-t, --team <name>The name of the organization team to be granted access
-p, --template <repository>Make the new repository based on a template repository

Changes made:

  1. Aligned the table headers and content properly using consistent spacing
  2. Added proper separators (|) between columns
  3. Fixed the alignment of flags and their descriptions
  4. Added a blank description for the main command to maintain table structure
  5. Ensured consistent formatting of flags (with proper spacing around dashes)

Examples

  • create a repository interactively gh repo create

  • create a new remote repository and clone it locally gh repo create my-project --public --clone

  • create a remote repository from the current directory gh repo create my-project --private --source=. --remote=upstream

More Commands: git-docs gh repo