Git 操作与命令

git 工具 远程仓库 本地仓库

github 多个远程仓库的集合体
远程仓库 服务器上的代码仓库
本地仓库 在自己电脑上的代码仓库
工作区 写代码的地方
暂存区 暂时保存代码的地方
分支 永久储存代码修改的地方

基本指令

git init 创建本地仓库
git status 查看当前的git状态
git add 将工作区的修改提交到暂存区
git add . 添加全部的工作区文件
git add 具体文件路径 提交一个文件
git commit 将暂存区的修改 提交到分支
git commit -m ‘本次操作的注释’
git branch 查看当前本地分支
git branch -a 查看远程和本地所有分支
git branch -d 分支名 表示删除分支 注意不能自杀
git push origin --delete issue-peiyou-20200508 删除远端分支
git checkout 分支名 切换分支
git checkout -b 分支名 创建新分支并切换
git log 查看操作信息
git reflog 查看操作信息
git reset --soft HEAD^ 仅仅是撤回commit操作,不撤回add . 您写的代码仍然保留
git reset HEAD^ 撤回commit和add 相当于 --mixed

HEAD^
如果你进行了2次commit,想都撤回,可以使用

HEAD~2
git reset --hard 版本id 版本回退与前进
git merge 分支名 分支合并
1.执行命令的分支 应该是母分支
2.将子分支合并到木分支上
分支合并过程中经常会产生冲突(多个分支同一个文件 有不同的修改 git工具不能确定保留哪一个 产生冲突让开发者自己解决)

解决冲突的 需要的留着 不要的删掉

git checkout 文件路径 // 忽略提交某个文件
git commit --amend // 修改提交后的commit信息内容
git stash //暂存当前的修改(可用于切换分支更新代码之类的)
git stash pop // 恢复暂存的修改
git stash list // 查看暂存历史
git show + (commitId) 查看对应提交的代码差异
git log -p src/pages/Message/ActionBar.tsx // 查看该路径下的修改历史
git log --graph --decorate --oneline 可视化图像
git config --global --edit 全局的快捷指令/全局配置文件
git diff commit commit 查看两个提交的差异
git cherry-pick 能够把另一个分支的一个或多个提交复制到当前分支,具体使用如下:首先git checkout到另一个分支,然后使用git log找到想要复制的commit 的id,记录下来切换到自己分支,使用git cherry-pick [上面记录的commit id] 回车即可!
远程仓库相关

本地和远程仓库建立连接

o远程仓库已经创建 git clone url
o远程仓库没有创建 创建本地仓库 git init 在与远程仓库关联 git remote add 远程仓库名(origin) 连接地址 git remote add origin https://github.com/JackXM/html_css.gitgit push -u origin master
提交本地分支代码到远程仓库的分支 git push 远程仓库名(origin) 分支名 (master)
更新本地代码 git pull 远程仓库名(origin) 分支名(mater)
.gitignore
gitflow (git工作流)
master 主分支 和线上代码完全保持一致
预上线分支 测试分支
dev 开发分支 开发者的开发分支
个人分支 开发者在个人分支写功能
bug 分支 线上代码出现bug后的分支
主程

创建远程仓库
在本地创建 dev分支
在dev分支初始化项目
将dev分支推送到远程仓库
其他人员
o先克隆远程仓库代码
o从dev切换出个人分支
o在个人分支开发功能
o将个人分支合并dev分支
o更新dev分支 git pull
o将dev 提交到远程仓库

多人操作同一数据库
mongod --bind_ip_all
yapi easy-mock mock json-mock
https://github.com/YMFE/yapi npm install -g yapi-cli -registryhttps://registry.npm.taobao.org yapi server
gitLab 流程 rebase的用法
从 dev切出去一个分支git checkout -b 你的分支名字 (eg: issue-某某功能-20200221)
然后进行开发功能
开发完成之后git add . git commit -m ‘message’
然后 git fetch
然后 git rebase origin/develop 解决冲突(develop指代线上稳定分支)
去编辑器里解决完冲突(rebase有时是分步的,解决完需要git add .,git rebase --continue)然后继续解决冲突
o如果不想rebase了,就git rebase --abort
冲突解决完了就git push origin 你自己建立的分支名字
最后去gitlab上创建一个MR请求合并到develop分支(或组里指定的稳定分支) 审核人填一下
然后审核人 codereview 代码可以的话,就给你合并到dev分支了

如何修改git分支名名称

修改本地git分支名称指令
git branch -m oldBranchName newBranchName
修改远程仓库(github)上的分支名称
git本地分支名已修改,只需推送到远程仓库上,即可更换掉远程仓库的分支名称
git revert 和 git reset的区别
git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留;
git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除
撤销(revert)和重设(reset)对比;
git revert 回滚了「单独一个提交」,它没有移除后面的提交,然后回到项目之前的状态。在 Git 中,后者实际上被称为 reset,而不是 revert。
git rebase 和 merge区别
rebase 会把你当前分支的commit放到公共分支的最后面,所以叫变基,就好像你从公共分支又重新拉出来这个分支一样
merge 会把公共分支和你当前的 commit 合并到一起,形成一个新的 commit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值