Git 常用记录

  • 用命令拉取代码
  • Git更新本地分支信息
  • 删除commit操作
    • git reset
    • git rebase
    • git revert
    • 如何查看commit_id
  • Git的挑拣功能
  • GitHub删除已建仓库

慢慢积攒,让自己变得充盈和内心富有!
小总结:如果是一个新开发的项目,且周期很长,应该建立一个新的分支去写代码,当开发完成后,再将代码挑拣过去就好。

用命令拉取代码

  1. 新建文件
  2. git init 初始化git
  3. git remote add 远端仓库地址 后面是项目所在远程仓库地址(不是远程分支名称,而是仓库地址)
  4. 拉取远程分支到本地:git fetch origin master(master是你要拉取的远程分支名称)
  5. 如果提示如下错误: OpenSSL SSL_read: Connection was reset, errno 10054,则将ssl验证设置为false。,如果没有此错误提示,则跳过此步骤 git config --global http.sslVerify “false” 然后重新执行 git fetch origin master
  6. 在本地创建dev分支并且切换到该分支:git checkout -b master(本地分支名称)
  7. 拉取分支到本地:git pull origin dev(远程分支名称)

Git更新本地分支信息

用命令更新本地分支信息

git remote update origin --prune

删除commit操作

git reset

  1. git reset :回滚到某次提交
  2. git reset --soft:此次提交之后的修改会被退回到暂存区
  3. 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

  1. git revert:放弃某次提交。
  2. git revert 之前的提交仍会保留在 git log 中,而此次撤销会做为一次新的提交
  3. 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操作/挑拣/删除仓库)相关推荐

  1. git常用命令,分支操作,子模块

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) 二. Git 常用 ...

  2. git常用命令及Commit message规则

    git是程序员必备技能之一,不管是GitHub,GitLab,码云还是别的平台,都是基于git版本控制工具,所以我们有必要掌握关于git的常用命令,大家在网上也是很容易搜得到,而且很多IDE都内置很方 ...

  3. python 删除sheet_Python操作Excel删除一个Sheet

    在使用Python进行数据分析处理,操作Excel,有时需要删除某个Excel里的某个sheet,这里记录一个我测试成功的一个办法 软件环境: 1.OS:Win 10 64位 2.Python 3.7 ...

  4. java删除表操作,JDBC删除表实例

    本篇文章帮大家学习JDBC删除表实例,包含了JDBC删除表实例使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 在本教程将演示如何在JDBC应用程序中删除一个数据库表. 在 ...

  5. linux删除软件包git的命令,linux系统安装git及git常用命令

    1 安装GIT 代码如下: $  sudo aptitude install git $  sudo aptitude install git-doc git-svn git-email git-gu ...

  6. git常用命令,项目删除原有github连接并重新连接,回滚,下拉分支代码,切换分支

    下拉分支代码 $ git clone https://gitea.https.xiaozhuschool.com/APKDevelopment/YouYuanSellingWineMachine.gi ...

  7. git 常用命令(含删除文件)

    git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库: ...

  8. git中的删除命令操作

    git常用删除命令操作 git rm 文件名 删除某个文件,本地仓库中的文件也要删除,不再保留 git rm -r 目录名 删除某个目录 git rm -r --cached 目录名 删除目录,会保留 ...

  9. 数据库常用操作之删除重复数据且仅保留一条

    数据库常用操作之删除重复数据且仅保留一条 单字段操作 查询全部重复的数据 MySQL实现 Oracle实现 查询表中重复数据(id最小除外) MySQL实现 删除表中多余重复数据并且只留1条 MySQ ...

  10. git commit撤销_Git commit 提交一堆记录?试试撤回 commit 操作,你会爱上它

    在项目开发中, git-commit 未 push 的代码,我们可能需要合并或者重新修改再 commit,避免提交记录过多.下面我们盘盘在 IntelliJ idea 不通过命令如何撤销操作?使用 g ...

最新文章

  1. 用于判断用户注册时,密码强度的JS代码。
  2. 2010年暑假送给大学生30句话
  3. 一个编译不能通过的问题的解决
  4. [C++STL]set容器用法介绍
  5. Windows平台下kafka环境的搭建
  6. workerman mysql git_swoole和workerman哪个更易开发?
  7. C#用正则表达式对IP进行排序
  8. java简历项目经验描述,分分钟搞定!
  9. 完数(完备数、完美数)
  10. 公司的IT总监在公司里是什么样的角色?
  11. 企业建站使用哪些主流的CMS系统?
  12. win10电脑wifi服务器未响应,win10系统点电脑无线图标没反应的解决方法
  13. CUDA中的数学函数
  14. 我的win10平板维修,重刷系统的经验,windows pe5.0拯救我的平板
  15. Quixel bridge无法导入到blender
  16. 利用 Django 动态展示 Pyecharts 图表数据的几种方法
  17. 化妆品标签包含哪些内容
  18. 如何修复u盘?不如试试我这3个方法
  19. exe和dll的内存加载
  20. 实体类中如何自动生成serialVersionUID

热门文章

  1. typeorm实战之findOne()方法
  2. AutoCAD中禁用shift+鼠标中键组合作为动态观察的功能
  3. ST芯片烧录失败的原因分析及对策
  4. c语言中特殊符号怎么定义,C语言特殊符号意义
  5. 花费巨资去培训SAP真的值得吗?
  6. し: make jianjie的文本网页
  7. echarts+vue3实战(1)
  8. 随机身份证号码计算年龄
  9. 计算机科学与工程学院金巍,附件1湖北省思想政教育先进高校名单-附件1-.doc
  10. 全国2016年实施不动产登记 潘石屹预言房价下跌