Git笔记
Git
打标签
git tag tagName -m "info" # 打一个标签
git tag -d tagName # 删除一个标签
git show # 全部tag信息
git show tagName # 查看一个tag
git tag # 全部tag省略信息
回滚
git reset --hard "提交HASH值" # 回退到指定版本
git push -f origin master #强制提交
分支管理
git branch branchName #创建分支
git checkout branchName #切换分支
git checkout -b branchName #创建并切换分支,相当于合并上面两条命令
git branch #查看当前分支
-r 远程分支
-a 全部分支
git merge branchName #合并指定分支到当前分支
git branch -d branchName #删除分支
git switch -c branchName #创建并切换分支, 在新的版本中使用
git switch branchName #直接切换到已有分支
解决冲突
# 当两个分支同时修改一个文件时、或者一个分支的两个开发者修改一个文件时
# 产生冲突
# 当两个分支产生冲突时
git merge branch # 合并一个分支,并提示了冲突
git status # 可以查看冲突的文件
# git 使用 <<<<<<<<< ========== >>>>>>>>>>>> 标记出不同分支的内容
# 解决冲突后在提交
git add xxxfile
git commit -m "xxx"
git push origin currentBranchName
git log --graph --pretty=oneline --abbrev-commit # 查看分支合并情况
git log --graph # 查看分支合并图
Bug分支
# 当需要临时修改代码,但是当前分支的代码并不能进行提交
git stash # 保存当前工作现场
git stash list # 查看保存的工作现场
git stash apply # 恢复一个工作现场,不会删除
git stash drop # 删除一个工作现场
git stash pop # 从保存的工作现状弹出一个最新的
git merge --no-ff -m "content" branchName # 合并一个分支到当前分支,并保有记录
git cherry-pick <commit> # 复制一个提交到那当前分支
多人协助
# 抓取分支, 当clone一个项目后默认是只有master分支的.
# 要在其他分支上开发, 必须创建远程origin的dev分支到本地
git checkout -b dev origin/dev
# 当本地dev的代码不是最新的时候提交会错误, 需要使用pull命令拉取最新的代码
git pull # 如果失败,可能是没有指定本地dev分支与远程origin/dev分支的链接
# 可根据提示详情进行判断
git branch --set-upstream-to=origin/dev dev # 设置dev和origin/dev的链接
# 然后在进行pull命令,拉取代码后解决冲突提交代码
git push origin dev # 提交代码
rebase
# rebase操作可以把本地未push的分支提交历史整理成直线
# rebase的目的是使的我们在查看历史提交的变化时更容易,因为分支的提交西药三方对比
忽略特殊文件
有时候需要将某些文件放在工作区,而又不去提交它
这个时候可以在工作区创建一个.gitignore
git配置文件
具体配置可以查看官网
其他
Git快捷命令 建议下载下来已供参考