git常用命令记录
本地账户设置
git config --global user.name "yourname"
git config --global user.email "your email"
本地创建仓库
mkdir data 创建文件夹
cd data
git init 初始化一个Git仓库 把这个目录变成Git可以管理的仓库
添加文件到Git仓库
将文件放到git文件夹下
git add file 将文件添加到仓库,注意,可反复多次使用,添加多个文件
git add . 一次性添加所有文件
git commit -m "提交说明"
查看
git log 查看提交历史
git log --pretty=oneline 精简查看
HEAD表示当前版本,上一个版本HEAD`^`,上一个版本HEAD`^^`,上100个版本HEAD~100
git reset --hard 1094a 版本回退,其中1094a是版本ID
git reflog 记录你的每一次命令
git status 查看状态
git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
git checkout -- readme.txt 让这个文件回到最近一次git add时的状态/丢弃工作区的修改
git reset HEAD readme.txt 把暂存区的修改撤销掉
从版本库中删除该文件,那就用命令git rm删掉,并且git commit
注:以上操作都是针对本地仓库,与远程仓库无关
远程仓库
git remote add origin git@github.com:lidc1004/learngit.git 本地仓库与github关联 远程库的名字origin,Git默认叫法,可以改成别的
git push -u origin master 第一次提交
git push origin main 后续提交
git remote -v 查看远程库信息
git remote rm origin 删除远程库,解除了本地和远程的绑定关系
注:第一次使用远程仓库,应该先建立GitHub账户,并新建仓库,配置SSH Key,详情参考:https://www.liaoxuefeng.com/wiki/896043488029600/896954117292416
分支
git branch 查看当前分支,当前分支前面会标一个*号
git branch dev 创建分支
git switch master 切换到master分支(常用)
git checkout master 切换到master分支
git switch -c master 创建+切换分支
git checkout -b dev 创建+切换分支
git merge dev 合并指定分支到当前分支
git branch -d dev 删除分支
git merge --no-ff -m "merge with no-ff" dev 合并创建一个新的commit,其中--no-ff参数,表示禁用Fast forward
git stash 把当前工作现场“储藏”起来
git stash list 查看隐藏列表
git stash apply stash@{0} 返回工作现场,不删除 stash@{0}是列表号
git stash pop 返回工作现场并删除隐藏
git cherry-pick <commit> 把bug提交的修改“复制”到当前分支,避免重复劳动
git branch -D feature-vulcan 强行删除一个没有被合并过的分支
标签
git tag v0.1 新建一个标签,默认为HEAD,也可以指定一个commit id
git tag v0.9 f52c633 指定一个commit id
git tag -a v0.1 -m "version 0.1 released" 1094adb 指定标签信息,-a指定标签名,-m指定说明文字
git tag 查看所有标签
git show <tagname> 可以看到说明文字
git push origin <tagname> 推送一个本地标签
git push origin --tags 推送全部未推送过的本地标签
git tag -d <tagname> 删除一个本地标签
git push origin :refs/tags/<tagname> 删除一个远程标签