文章目录

  • 一、git安装
  • 二、git使用
    • 2.1、下载源码
    • 2.2、查看无更新
    • 2.3、查看有更新
  • 三、SSH配置教程
  • 四、Git配置
    • Gitee
    • Github
  • 疑问???
  • 参考

一、git安装

在Ubuntu下的安装:

sudo apt-get install git -y

二、git使用

2.1、下载源码

第1天先下载源码

【图待补充】

2.2、查看无更新

第2天查看无更新

【图待补充】

2.3、查看有更新

第3天查看有更新

【图待补充】

注意:不执行 git remote show origin 查看状态,而是直接执行 git pull origin 也是可以的,后面这个命令会自动检查,有更新它就会下载更新部分,没有更新也会提示你,如下图:

【图待补充】

三、SSH配置教程

  • git ssh key配置

四、Git配置

Gitee

简易的命令行入门教程:
Git 全局设置:

git config --global user.name "ReCclay"
git config --global user.email "xxxx@xx.com"

创建 git 仓库:

mkdir test_m
cd test_m
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:ReCclay/test_m.git
git push -u origin master

已有仓库?

cd existing_git_repo
git remote add origin git@gitee.com:ReCclay/test_m.git
git push -u origin master

Github

…or create a new repository on the command line

echo "# -IC_Verification_Box" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ReCclay/-IC_Verification_Box.git
git push -u origin main

…or push an existing repository from the command line

git remote add origin https://github.com/ReCclay/-IC_Verification_Box.git
git branch -M main
git push -u origin main

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard <commit_id>

    • git reset --hard <commit_id> 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

      • 不加--hard参数,默认是--mixed参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
    • git reset --hard HEAD 工作区和暂存区内容回退到最近的一次commit。当然,如果知道最近一次commit_id,也可以直接写id号(写前几位即可!)
      • 如果想回退到次近的commit,可以使用:git reset --hard HEAD^。当然,如果知道次近一次commit_id,也可以直接写id号
    • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

HEAD 说明:

  • HEAD 表示当前版本(最近一次commit)
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • HEAD^^^ 上上上一个版本
  • 以此类推…

可以使用 ~数字表示:

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本
  • HEAD^2 上上一个版本
  • HEAD^3 上上上一个版本
  • 以此类推…

几个常用的使用场景:

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout --file。(把最近一次提交到暂存区的内容放回到工作区)

  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>(把暂存区的内容先从最近一次commit救回来),就回到了场景1,第二步按场景1操作。

    • 想直接更改工作区和暂存区某个文件为最近一次commit的话,可以git reset --hard HEAD
  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,可以使用git reset --hard HEAD^(不过前提是没有推送到远程库)。

  • 场景4:从远程仓库 pull 回来之后,本地有未提交内容,怎么强制和远程仓库一致?

    • 放弃本地未提交内容
    • 将本地内容提交到远程仓库

git clone 项目后默认只有master分支,需要手动创建与远程分支相同名字的分支,需要注意的是后面需要加上origin/xxx,举例拉取feature分支:git checkout -b feature origin/feature

带参数的git log也可以看到分支的合并情况,命令如下:git log --graph --pretty=oneline --abbrev-commit

疑问???

参考

  • 一个图形化介绍GIT的网站
  • 廖雪峰的GIT简明教程:撤销修改

【软件工具使用】高效使用git工具相关推荐

  1. Git 工具(写的很乱)

    Git 工具 分支引用 指明一次提交最直接的方法是有一个指向它的分支引用. 这样你就可以在任意一个 Git 命令中使用这个分支名来代替对应的提交对象或者 SHA-1 值. 例如,你想要查看一个分支的最 ...

  2. 使用Git工具从GitHub上文件代码进行上传下载(图文详细)

    1.注册一个GitHub账号 GitHub: Where the world builds software · GitHub  此链接为GitHub官网 由于GitHub是国外的网站,访问会很慢,又 ...

  3. 《高效团队开发工具与方法》

    一直以来都在用所谓的敏捷开发,但是也只是简单的说,用什么用什么,从开始感觉不方便,到后来感觉习惯了,可没有考虑过到底能带来什么改变,所以最近在上下班的地铁上在看完了<高效团队开发工具与方法> ...

  4. DSP集成开发工具CCS的Git工具使用说明(一)

    关于CCS软件的Git使用说明 1.新建工程 点击窗口上的 File -> New -> CCS Project     如下图所示,设置工程名.工程路径,选择创建 Empty Proje ...

  5. 2003 resource kit之Robocopy 高效文件复制工具

    今天我向大家介绍一下windows server 2003 resource kit工具箱使用方法,由于windows server 2003 resource kit的工具比较多,我会陆续地把一些易 ...

  6. Git 工具 - 子模块 外部引用

    from:https://git-scm.com/book/zh/v1/Git-工具-子模块 Git 工具 - 子模块 子模块 经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目. ...

  7. 用python编写一个高效搜索代码工具

    用python编写一个高效搜索代码工具 大多码农在linux环境下使用grep+关键词的命令搜索自己想要的代码或者log文件.今天介绍用python如何编写一个更强大的搜索工具,windows下也适用 ...

  8. 产品经理——如何挑选一款高效的原型工具?

    客观来讲,每种工具能满足的任务和需求各有不同,"最适合"才是原型工具选择的黄金法则 . 每当设计一个新的App或网站时,作为对原型设计有一定了解的人来说,我们会倾向于选择那些&qu ...

  9. 搜索python代码的软件_用python编写一个高效搜索代码工具

    用python编写一个高效搜索代码工具 大多码农在linux环境下使用grep+关键词的命令搜索自己想要的代码或者log文件.今天介绍用python如何编写一个更强大的搜索工具,windows下也适用 ...

最新文章

  1. 快应用之手摸手,跟我走(1)
  2. Java多线程笔记(零):进程、线程与通用概念
  3. 关于STL中的map和hash_map
  4. 承重柱怎么做_怎么区分农村自建房中的圈梁和承重梁?了解这几点
  5. 初步了解WPF依赖属性
  6. split、replace、indexof、substr 用法 (获取后台富文本框内容,截取图片)
  7. 在jMeter里如何创建用户定义的能生成随机数的变量
  8. 初级中级高级_初级职位,(半)高级职位
  9. 如何优化Hibernate EllementCollection语句
  10. 【渝粤教育】国家开放大学2018年秋季 0008-22T简明现代汉语 参考试题
  11. 服务器监控工具_8款服务器和应用性能监控工具
  12. bzoj 2959: 长跑【LCT+并查集】
  13. 【渝粤教育】国家开放大学2018年春季 0299-21T中国古代文学(1) 参考试题
  14. 用python爬取图片和搞笑段子
  15. android10图片保存,android10分区存储照片选择,拍照处理
  16. python批量添加水印_手把手教你用Python批量给图片添加水印!知了干货分享!
  17. 校园网账号在路由器上登陆
  18. VSS 2005 安装,配置简明手册 及VSS2005下载地址
  19. 二进制、八进制、十进制与十六进制的转换大全
  20. 「硬见小百科」很全的二极管干货

热门文章

  1. C语言检测电池,教你如何用万用表判断充电电池的好坏 - 全文
  2. Javascript的对象再认识
  3. linear-gradient的用法详解
  4. Android渲染(二)------ Shader之LinearGradient用法(线性渲染)
  5. 弱口令到底是什么牛马?
  6. DOS应用-迅雷不开会员照样用高速通道
  7. php框架 postgresql,CodeIgniter框架中使用PostgreSQL的配置
  8. 数据分析告诉你,为什么《延禧攻略》这么火?
  9. 银行家算法例题讲解_银行家算法
  10. 【PaperReading】Toward a gold standard for benchmarking gene set enrichment analysis