Git 常用记录(删除commit操作/挑拣/删除仓库)
Git 常用记录
- 用命令拉取代码
- Git更新本地分支信息
- 删除commit操作
- git reset
- git rebase
- git revert
- 如何查看commit_id
- Git的挑拣功能
- GitHub删除已建仓库
慢慢积攒,让自己变得充盈和内心富有!
小总结:如果是一个新开发的项目,且周期很长,应该建立一个新的分支去写代码,当开发完成后,再将代码挑拣过去就好。
用命令拉取代码
- 新建文件
git init
初始化gitgit remote add 远端仓库地址
后面是项目所在远程仓库地址(不是远程分支名称,而是仓库地址)- 拉取远程分支到本地:
git fetch origin master
(master是你要拉取的远程分支名称) - 如果提示如下错误:
OpenSSL SSL_read: Connection was reset, errno 10054
,则将ssl验证设置为false。,如果没有此错误提示,则跳过此步骤git config --global http.sslVerify “false”
然后重新执行git fetch origin master
- 在本地创建dev分支并且切换到该分支:
git checkout -b master
(本地分支名称) - 拉取分支到本地:
git pull origin dev
(远程分支名称)
Git更新本地分支信息
用命令更新本地分支信息
git remote update origin --prune
删除commit操作
git reset
- git reset :回滚到某次提交
- git reset --soft:此次提交之后的修改会被退回到暂存区
- git reset --hard:此次提交之后的修改不做任何保留,git status 查看工作区是没有记录的
小tips:代码回滚到目标ID,需要对代码备份,以防代码回滚错误无法恢复
(1)代码回滚
git log // 查询要回滚的 commit_id
git reset --hard commit_id // HEAD 就会指向此次的提交记录
git push origin HEAD --force // 强制推送到远端
(2)误删恢复
如果回滚代码之后发现复制错了 commit_id,或者误删了某次 commit 记录,也可以通过下方代码恢复:
git relog // 复制要恢复操作的前面的 hash 值
git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值
git rebase
git rebase
:当两个分支不在一条线上,需要执行 merge 操作时使用该命令。
1)撤销提交
如果中间的某次commit
需要删除,可以通过git rebase
命令实现
git log // 查找要删除的前一次提交的 commit_id
git rebase -i commit_id // 将 commit_id 替换成复制的值
进入 Vim 编辑模式,将要删除的 commit 前面的 `pick` 改成 `drop`
保存并退出 Vim
(2)解决冲突
git diff // 查看冲突内容
// 手动解决冲突(冲突位置已在文件中标明)
git add <file> 或 git add -A // 添加
git rebase --continue // 继续 rebase
// 若还在 rebase 状态,则重复 2、3、4,直至 rebase 完成出现 applying 字样
git push
git revert
- git revert:放弃某次提交。
- git revert 之前的提交仍会保留在 git log 中,而此次撤销会做为一次新的提交。
- git revert -m:用于对 merge 节点的操作,-m 指定具体某个提交点。
1)撤销提交
要撤销中间某次提交时,使用 git revert 也是一个很好的选择:
git log // 查找需要撤销的 commit_id
git revert commit_id // 撤销这次提交
2)撤销 merge 节点提交
如果这次提交是 merge 节点的话,则需要加上 -m 指令:
git revert commit_id -m 1 // 第一个提交点
// 手动解决冲突
git add -A
git commit -m ""
git revert commit_id -m 2 // 第二个提交点
// 重复 2,3,4
git push
如何查看commit_id
Git的挑拣功能
当项目复杂的时候,有些功能可能还没完成,有些功能必须现在就得提交更新。
这种情况下,需要自己将代码写到自己的分支,然后使用Git的挑拣功能,挑拣到目标分支
1.将自己写好的代码提交到自己的分支
2.切换分支到目标分支
3.打开GIT Graph- git提交记录图那里
4.选中切换的分支 ,branches选中showall或者自己的分支和目标分支
5.选中需要挑选的功能,Cherry pick =>点击确定(可能有冲突,需要解决冲突后)=>push
GitHub删除已建仓库
- 点击需要删除的仓库
- 双击最左侧setting
- 鼠标拉到最下面,会看到Dange Zone(危险区域),最下面有一个按钮:Delete this repository
- 弹出此界面(意思是需要你注意,此仓库一旦点击删除,不可恢复)
- 输入仓库名,并点击删除按钮(注意:如果前后仓库有空格,删除按钮是不可点击的)
Git 常用记录(删除commit操作/挑拣/删除仓库)相关推荐
- git常用命令,分支操作,子模块
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) 二. Git 常用 ...
- git常用命令及Commit message规则
git是程序员必备技能之一,不管是GitHub,GitLab,码云还是别的平台,都是基于git版本控制工具,所以我们有必要掌握关于git的常用命令,大家在网上也是很容易搜得到,而且很多IDE都内置很方 ...
- python 删除sheet_Python操作Excel删除一个Sheet
在使用Python进行数据分析处理,操作Excel,有时需要删除某个Excel里的某个sheet,这里记录一个我测试成功的一个办法 软件环境: 1.OS:Win 10 64位 2.Python 3.7 ...
- java删除表操作,JDBC删除表实例
本篇文章帮大家学习JDBC删除表实例,包含了JDBC删除表实例使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 在本教程将演示如何在JDBC应用程序中删除一个数据库表. 在 ...
- linux删除软件包git的命令,linux系统安装git及git常用命令
1 安装GIT 代码如下: $ sudo aptitude install git $ sudo aptitude install git-doc git-svn git-email git-gu ...
- git常用命令,项目删除原有github连接并重新连接,回滚,下拉分支代码,切换分支
下拉分支代码 $ git clone https://gitea.https.xiaozhuschool.com/APKDevelopment/YouYuanSellingWineMachine.gi ...
- git 常用命令(含删除文件)
git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库: ...
- git中的删除命令操作
git常用删除命令操作 git rm 文件名 删除某个文件,本地仓库中的文件也要删除,不再保留 git rm -r 目录名 删除某个目录 git rm -r --cached 目录名 删除目录,会保留 ...
- 数据库常用操作之删除重复数据且仅保留一条
数据库常用操作之删除重复数据且仅保留一条 单字段操作 查询全部重复的数据 MySQL实现 Oracle实现 查询表中重复数据(id最小除外) MySQL实现 删除表中多余重复数据并且只留1条 MySQ ...
- git commit撤销_Git commit 提交一堆记录?试试撤回 commit 操作,你会爱上它
在项目开发中, git-commit 未 push 的代码,我们可能需要合并或者重新修改再 commit,避免提交记录过多.下面我们盘盘在 IntelliJ idea 不通过命令如何撤销操作?使用 g ...
最新文章
- 用于判断用户注册时,密码强度的JS代码。
- 2010年暑假送给大学生30句话
- 一个编译不能通过的问题的解决
- [C++STL]set容器用法介绍
- Windows平台下kafka环境的搭建
- workerman mysql git_swoole和workerman哪个更易开发?
- C#用正则表达式对IP进行排序
- java简历项目经验描述,分分钟搞定!
- 完数(完备数、完美数)
- 公司的IT总监在公司里是什么样的角色?
- 企业建站使用哪些主流的CMS系统?
- win10电脑wifi服务器未响应,win10系统点电脑无线图标没反应的解决方法
- CUDA中的数学函数
- 我的win10平板维修,重刷系统的经验,windows pe5.0拯救我的平板
- Quixel bridge无法导入到blender
- 利用 Django 动态展示 Pyecharts 图表数据的几种方法
- 化妆品标签包含哪些内容
- 如何修复u盘?不如试试我这3个方法
- exe和dll的内存加载
- 实体类中如何自动生成serialVersionUID