appwiki:git

Git as cmd

Command Git cmds

The Three States of Git

  • Modified: A file is modified when you have changed it but have not yet committed it to your repository. It is only changed in your working directory.
  • Staged: A modified file becomes staged when you add it to your staging area. Here, Git has it marked as ready to be committed in the next snapshot. This means you've told Git to include the updates from this file in the upcoming commit.
  • Committed: Once a file is committed, it means that the data is safely stored in your repository's local database. This updates the commit history with a new snapshot of your project at the time you made the commit.

Cmds

  • start the git-cmd.exe and now you are in a cmd with git built-in, or add git path to your cmd session:
    set PATH=D:\path_to_git_folder\bin;%PATH%
  • create a default user if you have not
    git config --global user.name "AnyOne"
    git config --global user.email "anyone@any.what"
  • list config
    git config --list
  • create a project folder
    mkdir SuperWebProj
    cd SuperWebProj
    touch index.html
  • create ignore list inside git directory, create .gitignore file
    # ignore folder, ignore type of files
    __pycache__/
    *.py[cod]
     
    # ignore build folder
    build/
  • cd to the folder where you want to create a repo
    git init
    • by default, the init will use this folder as “master” named branch, you can config git to use other name like main or core-feature like name, but you can ignore that for now.
  • make some files or copy some files into that folder, then add that as changes and make a commit
    git add *.html
    git commit -m "starter files added"
  • check status
    git status
    • optional: you can change branch name like
      git branch -m master main
  • add everything in the directory that is changed
    • all new and modified files:
      git add .
    • all new and modified + deleted files
      git add -A
    • all modified + deleted files
      git add -u
  • to view change log
    git log
  • use git to zip folder
    git archive --format=zip -o project_code.zip HEAD project_code
  • git download a project: cd to root of your project folders, (note: clone will create root folder of the git project, best no space, AnBn style naming)
    git clone https://proj_url/project.git
  • git remote source for fetch and push, (this only deal with remote repo), check remote source
    git remote -v
  • git list branch,
    • both local and remote branch
      git branch -a
    • both local branch
      git branch
  • git check all changes to files in detail, this is before changes added (not yet commit)
    git diff
  • always get source update before push
    git pull origin branch-name
    git push origin branch-name
  • create branch for a feature or a issue
    git branch export-feature
  • switch branch
    git checkout export-feature
  • push to remote repo
    git push -u origin export-feature
  • merge a feature branch into main
    git checkout main
    git merge export-feature
  • to check which feature branch has been merged into main before, checkout to main, then
    git branch --merge
    • to check which feature branch has NOT been merged into main,
      git branch --no-merged
    • for already merged branch shows in –merge cmd, you can safely delete those feature branch, as they are already part of main.

Extra Tips:

  • you can use vscode to open the folder project (the one with .git hidden folder), vscode will auto know it is a git project and it has some built-in tool to help you instead of using the git cmd
    git branch -d export-feature
    • you may need to set git.exe path if you use above portable one,
    • go File > Preference > setting , search git path, click edit setting.json, it will pop up the {} dictionary part for you to edit
      "git.path": "D:\\App_Dev\\PortableGit\\bin\\git.exe",
  • if you want more help, you can use Github Desktop app, which you dont have to use their github service, you can use add your local disk project folder, you can manage all the git cmd in a visual way, like compare difference and make commit
  • appwiki/git.txt
  • Last modified: 2024/04/11 09:04
  • by ying