Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我
所有文章 外链

Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我

git学习之三-最近遇到的坑

阅读数:次 2016-09-10
字数统计: 820字   |   阅读时长≈ 3分

最近在开发过程中,用到git提交代码,之前也用过github传过代码,但是实际工作中还用的不多,过程中遇到了一些坑,记录下来。

conflict冲突

冲突原因:

由于在自己提交之前,自己下载最新代码之后有人上传了,之前下载的不是最新的代码,所以有冲突,必须把代码冲突解决之后才能够上传。时间线问题。

展现形式:

1
2
3
4
5
>>>>>>>>>>
your code
HEAD
others code
<<<<<<<<<<

完成了一个功能模块,想要提交到代码库中;为了方便,现在用git gui工具了,先把更改的文件statechanged状态改变一下,然后提交commit,之后千万不要忘记看看远程库中有没有最近的更新,pull一下;
pull一次之后就要注意解决冲突,一般文件会红色显示,有错误则会显示红色波浪线,形式如上所示;

注意:每天可以多次commit,就像打标签,但是最好一天只push一次。多次提交造成不必要的浪费;

据老司机们的经验,开发时,应该多构建分支,在一个分支上做一个功能,功能做完之后再合并分支,这样可以减少冲突的概率。

撤销未提交的修改

还没有commit,但想撤回修改的情况下:

git diff:

保存了,如果是一两句还好,如果几百几千行呢?手动累死你。
神器:

1
git checkout src/com/jay/example/testforgit/MainActivity.java

duang一下就没了:

当然上述前提是没有add,才可以checkout。我们要先取消添加才可以撤回提交,使用下述指令:

1
2
git reset HEAD src/com/jay/example/testforgit/MainActivity.java
git checkout src/com/jay/example/testforgit/MainActivity.java

版本回退

上面提到的是撤销未提交的修改,但如果提交了,我们想回退到之前的某一个版本怎么办?
我们可以通过git log查看我们的提交记录,我们需要从这里获取一个版本号,
一般我们只需要前七位字符就够了;另外在Git中,用HEAD代表当前版本,上一个版本就是HEAD^,
再上一个版本就是HEAD^^依次类推!我们先Git Log看下版本历史先!

我们回到前一个提交的版本吧,依次键入下述指令:

1
2
3
git reset --hard HEAD
git reset --hard HEAD^
git log

控制台:

可以看到我们已经回退到了前一个版本了,当然你可以直接这样写:

1
git reset --hard ad2080c

就是这么简单!回退后,你突然后悔了(第一次回退到前一旧版本了,现在又想回到新版本了,善变啊),想回退回新的那个版本,
可是遗憾的是,你键入git log却发现没有了最新的那个版本号,这怎么办呢…
没事,Git中给你提供了这颗“后悔药”,Git记录着你输入的每一条指令呢!键入:

1
git reflog

你会发现,版本号就在这里:

然后键入:

1
git reset --hard ad2080c

可以看到我们又回到了最新的那个版本了,就是这么溜!

  • 本文作者: Linking
  • 本文链接: https://linking.fun/2016/09/10/git学习之三-conflict冲突,reset版本控制,以及实践感悟/
  • 版权声明: 版权所有,转载请注明出处!
  • git
  • cs

扫一扫,分享到微信

安卓onClick事件监听的实现方式
git学习之二-git基础
  1. 1. conflict冲突
  2. 2. 撤销未提交的修改
  3. 3. 版本回退
© 2015-2026 Linking
GitHub:hexo-theme-yilia-plus by Litten
本站总访问量次 | 本站访客数人
  • 所有文章
  • 外链

tag:

  • weather
  • 需求
  • essay
  • basketball
  • olympic
  • nginx
  • APPScan
  • SQl盲注
  • xss
  • Ajax
  • ajax
  • ai
  • agent
  • openclaw
  • ccf
  • Nginx
  • HTML5
  • html5
  • hmtl5
  • sse
  • JavaScriptCore
  • Oracle
  • operation
  • Linux
  • deploy
  • Mac Office
  • markdown
  • ListView
  • GridView
  • MySQL
  • 慢查询
  • mongodb
  • 转置
  • thought
  • network
  • ubuntu
  • NetworkManager
  • RFKill
  • Netplan
  • avatar
  • cocoa
  • blog
  • Gitalk
  • container
  • macvlan
  • docker
  • oracle
  • cookie
  • patch
  • gitea
  • git
  • iOS
  • https
  • 多线程
  • bundle
  • 兼容性
  • HTTP
  • 绘图
  • cs
  • java
  • 效率
  • 快捷键
  • route
  • nodejs
  • pip
  • arcgis
  • arcgis 建模
  • 标识
  • redis
  • read
  • bookList
  • running
  • showdoc
  • disk
  • unit-test
  • D.Wade
  • thoughts
  • duoduo
  • Python
  • python
  • tomcat
  • 读书节
  • session
  • jdk
  • war
  • 加班
  • Android onclick事件监听
  • 正则
  • 手机品牌匹配
  • ntp
  • OpenLayers
  • Geoserver
  • wechat
  • 微信公众号
  • 爬虫
  • WeChat
  • 张靓颖
  • 动漫
  • vpn
  • PPT
  • MarkDown
  • plan
  • 朱赟
  • 极客时间专栏
  • 极客邦
  • 模块化
  • MVC
  • excel
  • NBA
  • kobe
  • team
  • crawler
  • 进度条
  • ssl
  • book
  • anti-stealing-link
  • Agentic Engineering
  • Vibe Coding
  • Software 3.0
  • Andrej Karpathy
  • LLM
  • Programming
  • complain

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • GitHub Trending
  • OpenAI ChatGPT
  • Gitee码云
  • 简书
  • CSDN