git指令
git init //初始化仓库
git add readme.txt //选中单个文件
git add . //选中全部文件
git commit -m "要备注的信息" //把文件提交到仓库
........................................................
git status //查看一下仓库当前的状态 比如哪个文件修改了什么
git diff //查看具体修改的内容
//这两个可以再查看后再去 选中文件 提交仓库 提交仓库了查看就没有什么看到的了
//提交后查看 git status 返回的是nothing to commit, working tree clean 工作目录干净的
........................................................
//版本回退
git log //查看最近到最远的提交日志
git reset --hard HEAD^ //选中其中一个版本回退 HEAD^回退版本一 固定写法
//如果提示 more (更多) 是cmd原因HEAD^ ^再加一个
//或者git reset --hard HEAD~1
//~ 后面的数字表示回退几次提交,默认是一次
//回退后恢复版本 前提 cmd窗口没关闭
git reset --hard a1148dbe6ac6e
//a1148dbe6ac6e 这个是 commit的ID 只需要前面几位就好了不需要完整我GIT自动匹配
//cmd窗口关闭找不到commitID 版本恢复办法
git reflog
//查看每一条操作指令 开头就是commitID 复杂麻烦
........................................................
//本地删除文件。但是仓库里面还有 可以从仓库恢复出来
git checkout axios2.html
//git checkout 只用这个 他会显示出被删除了的文件名字
.......................................................
查看本机ssh密钥 $一行是输入的指令
https://www.runoob.com/w3cnote/view-ssh-public-key.html
git log 等指令页数多的时候 按q是退出
远程仓库链接
//创建仓库后 根据提示
git remote add origin https://gitee.com/yitiaogua/bb.git //建立链接
git push -u origin "master" //推送到master分支 u是第一次需要建立链接
//克隆
git clone [email protected]:yitiaogua/bb.git
//[email protected]:yitiaogua/bb.git这个是远程仓库SSH地址
分支管理
git branch //查看分支
git branch dev //创建分支 dev是分支名字
git branch -d dev //删除分支
git checkout dev //切换到这个分支 不推荐 容易和上面恢复记混
git switch dev //切换分支 推荐
git switch -c dev//简写 创建分支和切换分支 推荐
git checkout -b dev //简写 创建分支和切换分支
git merge dev //合并某分支到当前分支 比如当前分支是master
合并冲突
当需要合并的分支 和 被合并的分支 在同一处修改了不同代码 需要去VSCODE里面解决冲突 再合并 删除分支
第三方空间存储
在一个分支内编写着代码需要马上去解决主分支的BUG 分支的代码又不能提交因为还没写完所以需要一个第三空间存储分支内编写的数据再切换到主分支创建BUG分支修改好后合并主分支并且同步DEV分支,再去第三方空间找到刚刚没写好的代码释放出来继续干
因为git机制是 不add commit就不能切换分支
git stash //把不能add的代码放在第三方存起来
git stash list //查看存在第三方的啥地方了
git stash apply //恢复但是不删除stash里面的代码
git stash drop //恢复直接删除
git stash apply stash@{0} //恢复指定的
//修改了主的BUG DEV上面也要同步一下 这里只是同步 一部分代码 因为dev早期版本就是有BUG的 在修改了BUG分支里面 commit时候拿到这个 368583f 它的编号 拿编号通过cherry-pick合并
//先切换到DEV分支 //这是更新单独一个分支
git cherry-pick 368583f //直接就把DEV版本更新同步master
远程仓库与本地仓库交互
git remote //查看远程仓库的信息
git remote -v //同上 会更详细
git push origin master //master是分支名字 需要推送的分支
git checkout -b dev origin/dev //本地建立同时远程也建立DEV
//解决两个人推送同一个分支时候的冲突
//别人先推送了 远程仓库数据已经更新 我就需要拉取最新数据 再推
git pull
//如果本地分支和远程最新分支没有链接 需要先建立链接再拉取
//注意本地分支 需要与 远程分支名字一样
git branch --set-upstream-to=origin/bbs bbs
git branch --set-upstream-to=origin/远程分支名字 本地分支
//成功branch 'bbs' set up to track 'origin/bbs'.
//建立联系后 再git pull 最新的代码 要是有冲突就要处理
//之后再提交一下本地代码 add \ commit
//最后再 git push origin master 推送
tag
//切换到需要打标签的分支上
git tag XXX #创建本地tag
//git tag v1.0
git tag #列出所有的标签
git tag -l "*202106*" #模糊搜索
git tag -l -n #列出tag及注释
git tag -a XXXX -m '备注信息' #创建包含备注信息
git show tag名称 #查看相关tag信息
git push origin --tags #推送全部tag标签到远程仓库
git tag -d tag名 #删除本地标签
标签:origin,git,仓库,dev,tag,指令,分支
From: https://www.cnblogs.com/yitiaogua/p/17519589.html