Git的用途毋庸多说,但是因为命令众多,好多命令一段时间不用,也被忘记的七七八八了,所以将常用的命令记下来,以备不时之需。

  • 撤销已经add的内容
    git reset -- test.txt
  • 撤销(还原)暂未add的内容
    git checkout -- test.txt
  • 版本回退
    git log # 找到最新的commit id
    git reset --hard xxxx # xxxx代表要回退到的commit id
  • 版本回到最新
    git reflog # 查找最新的commit id
    git reset --hard xxxx # xxxx代表要回退到的commit id
  • 关联远程分支
    git remote add origin git@github.com:guangxuanliu/learnGit.git # 将本地仓库关联到远程仓库,并且命名为origin
    git branch -M main # 将本地当前分支重命名为main
    git push -u origin main # 将本地的main分支推送到origin仓库的main分支
  • 查看分支
    git branch
  • 切换分支
    git checkout xxx
  • 创建并切换到分支
    git checkout -b xxx
  • 合并xxx分支到当前分支
    git merge xxx
  • 删除分支
    git branch -d xxx
  • 查看历史
    git log --graph --pretty=oneline --abbrev-commit
  • 解决冲突
    手动解决冲突后执行
    git add test.txt
    git commit -m "resolve conflict"
  • 合并分支,并且保留分支信息,即不shi用fast-forward模式
    git merge --no-ff -m "merge with --no-ff" dev
  • 不想提交,只想临时保存
    git stash # 临时提交
    git stash list # 查看临时提交
    git stash pop # 还原
  • 合并其它分支的某一个提交
    git cherry-pick xxxx # xxxx代表其它分支的commit-id
  • 删除没有被合并过的分支(强制)
    git branch -D xxx
  • 在本地创建和远程分支对应的分支
    git checkout -b branch-name origin/branch-name
  • 建立本地分支和远程分支的关联
    git branch --set-upstream branch-name origin/branch-name
  • 打标签(因为commit id是无意义的数字,tag有意义)
    git tag v1.0 commit-id
  • 查看标签
    git tag
    git tag -a v1.0 -m "带有标签信息的tag"
  • 查看详细标签信息
    git show v1.0
  • 删除标签
    git tag -d v1.0
  • 将单个标签信息推送到远程(tag默认不推送,需要单独推送)
    git push origin v1.0
  • 将全部标签信息推送到远程(tag默认不推送,需要单独推送)
    git push origin --tags
  • 删除本地tag
    git tag -d v1.0
  • 删除远程tag
    git push origin :refs/tags/

标签: none

添加新评论