我正在参加「掘金·启航计划」
git基本操作
- git init 初始化git仓库
- git status 查看git仓库状态
- git add. 把文件全部提交到暂存区
- git commit -m 提交git仓库
- git log/git log --oneline查看仓库日志,当想要回退到某个日志的时候可以通过git checkout 日志的id值回退到相应的阶段
- git reset --hard HEAD^ 回退到上一步(上一个版本)
- git reflog 回流版本
- git reset --hard 日志的id值 回退到对应版本
工作区,版本库,暂存区,撤销修改操作
- 什么是工作区
就是你在电脑里能看到的目录。
- 什么是版本库,就是.git问件夹它里面有暂存区和你创建的分支
- git ls-files 列出本地仓库中暂存区的文件
- git checkout --文件名 撤销没有提交到暂存区的改变
- git restore --文件名 撤销没有提交到暂存区的改变(git2.23之后才有的命令)
- git restore --staged 文件名 撤销提交到暂存区的改变回到没有提交到暂存区时的操作
- git reset HEAD 文件名 撤销提交到暂存区的改变回到没有提交到暂存区时的操作(git2.23之后才有的命令)
- git reset --hard HEAD^ /git checkout 日志的id值 已经提交到了本地仓库(进行了commit操作需要回退)
删除操作
- rm 文件名 删除提交(commit)的文件
- git checkout 文件名 /git reatore 文件名 撤销删除操作(前提都是进行了commit操作)
添加远程仓库,从远程仓库中克隆
- 在本地中输入 ssh-keygen -t rsa -C "邮箱名" (会生成公钥和私钥两个文件)
- 将公钥添加到github/gitee的公钥中
3.new一个远程仓库
- 同步本地仓库和远程仓库代码 git remote add origin "仓库地址"
- 把本地仓库代码提交到远程仓库 git push -u origin master(分支名,这里是提交的主分支)
- git push 推送本地仓库的更新到默认的远程仓库
创建分支,合并分支,解决合并冲突
- git checkout -b 分支名 /git switch -c 分支名(git2.23之后才有的命令) 创建新分支
- git branch 查看远程仓库上的分支
- git checkout 分支名 切换分支
- git branch -d 分支名 删除分支
- git merge 分支名 合并更新的分支
- 处理合并冲突问题
- 查看分支提交流程图
- git rm --cached 文件名 撤销提交文件到暂存区
- 删库跑路 rm -rf 文件名
- recursive方式合并远程仓库分支,可以在日志中查看提交信息
程序中有bug时候的修复
当我们在开发过程中如果遇到bug需要修改,我们通常都是新建一个分支,修改bug,然后再将分支合并,删除临时分支,那么当我们正在开发比如dev分支如果切换分支的话我们正在编写的代码就会消失,此时功能还未完成不能合并代码,但是修改bug比较紧急,这时候我们应该怎么办呢?
- git stash 保留代码但是并没有合并
- git stash list 查看代码保留内容
- git checkout -b 分支名 新建临时分支(修复bug)
- git add. git commit -m “” 提交修复
- git merge --no-ff -m “合并信息” 合并修复
- git branch -d 分支名 删除临时分支
- git stash apply 返回正在编写的分支 git stash drop 删除存档
- git stash pop 返回并删除存档
- git stash clear 返回并删除所有存档
- git cherry-pick id值 -m 1(number)合并修复分支代码