本文主要记录个人日常工作需要的部分命令,进一步了解参考一下链接: 中文参考:Git教程- 廖雪峰的官方网站, 英文参考:Learn Git
- 安装配置
Linux:
sudo apt install git
Windows: 官网下载git
$ git init # 创建respository
$ git config --global user.name "Your Name" # 配置用户名(随意)
$ git config --global user.email "email@example.com" # 配置邮箱(随意)
# 配置别名
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
- 本地repository操作
$ git add readme.txt # 提交到暂存区
$ git commit -m "wrote a readme file" # 提交当前版本
$ git status # 当前状态
$ git ls-files # 查看当前repository所跟踪的所有文件
$ git diff readme.txt # 比较文件差异
$ git diff 1094a 89b02 # 比较 版本1094a 和 版本89b02 之间的差异
$ git log # 版本记录
$ git reset 1094a # 撤回所有1094a版本之后的commit,代码保持不变(可以用于撤销错误的commit)
$ git reset --hard HEAD^ # 回到上一个版本
$ git reset --hard 1094a # 回到版本1094a
$ git checkout -- readme.txt # 撤销当前修改,回到最近一次git commit或git add时的状态
$ git rm test.txt # 删除文件
$ git rm --cached # 删除该文件再repository中的index,即撤销跟踪,文件不变(适用于一些本地需要用到,但不需要上传到repository的文件,如涉密内容,缓存文件)
- 远程库
$ git remote -v # 查看远程库的信息
$ git remote add origin git@github.com:michaelliao/learngit.git # https协议
$ git remote add origin https://github.com/YasinLiu/learngit # ssh协议
$ git clone git@github.com:michaelliao/gitskills.git # 克隆到本地
$ git push origin master # 将当前master分支推送到origin远程仓库
$ git pull # 从默认远程仓库抓取
$ git checkout -b dev origin/dev # 创建远程origin的dev分支到本地
$ git branch --set-upstream-to=origin/dev dev # 设置dev和origin/dev的链接
- 分支管理
$ git branch # 查看分支
$ git branch dev # 创建分支
$ git branch -d dev # 删除分支
$ git branch -D dev # 强行删除
$ git checkout dev # 切换到分支dev
$ git switch master # 切换到分支master (版本 2.23.0 后才支持)
$ git checkout -b dev # 创建并切换到分支dev
$ git switch -c dev # 创建并切换到分支dev (版本 2.23.0 后才支持)
$ git merge dev # 将dev合并到当前分支(默认快速合并)
$ git status # 把当前工作现场“储藏”起来
$ git stash list # 参看当前stash
$ git stash apply stash@{0} # 恢复stash{0}
$ git stash drop stash@{0} # 删除stash{0}
$ git stash pop # 恢复statsh并删除
$ git rebase # 本地未push的分叉提交历史整理成直线
- 标签管理
$ git tag # 查看所有标签
$ git tag v1.0 # 默认标签是打在最新提交的commit上
$ git tag v0.9 f52c633 # 标签打在对应的commit id是f52c633
$ git tag -a v0.1 -m "version 0.1 released" 1094adb # 创建带有说明的标签,用-a指定标签名,-m指定说明文字
$ git show v0.9 # 查看标签信息
$ git push origin v1.0 # 推送某个标签到远程
$ git push origin --tags # 一次性推送全部尚未推送到远程的本地标签
$ git tag -d v0.1 # 删除标签v0.1
$ git push origin :refs/tags/v0.1 # 删除一个远程标签(先在本地删除)
- 添加SSH Key
- github
- gitee
网友评论