昨天开始看一套java接口自动化的视频,今天看到的一章是关于git这个工具使用的,上大学那会用过svn作为版本管理工具,包括现在所在的公司,用的也还是svn进行管理。其实老早就听闻过Git,Github,但就是一直没去了解。也就是在18年初寒假那会看一个linux视频时,里面有讲到如何在linux上面配置git,但我也是一看就过了。

  现在看的是Java接口自动化的视频,里面老师也介绍了这个工具会在课程中使用到,所以也刚好趁这个机会跟着耍耍。

  GitHub的特点:

  1. 开源的分布式版本管理系统
  2. 开源项目集中的代码库
  3. 所有略有规模的公司都在使用

  GitHub的功能介绍:

  1. 记录多个版本
  2. 查看历史版本,可以进行版本回退和前进的控制
  3. 多端共享代码,自动合并

  GitHub和SVN

  1. SVN版本集中管理,所有的代码都在中央服务器上
  2. Git去中心化,每个服务器上都有一个完整的代码库

  *Git客户端本地与GitHub服务端进行交互,可以通过配置sshkey进行交互,操作时就不用输入用户名和密码了,配置sshkey公文密钥的步骤:

  打开Git命令行,

  1. 生成key: ssh-keygen -t rsa -C "邮箱地址"
  2. cd  ~/.ssh (用户目录下的.ssh文件夹)
  3. 复制id_rsa_pub的公钥内容到github网站上(在setting-->SSH and GPG keys中)

  Git的一些常用命令

  代码提交

  添加指定文件到暂存区

  git add [file1] [file2]...

  添加当前目录的所有文件到暂存区

  git add.

  提交暂存区到仓库区

  git commit -m [message]

  提交暂存区的指定文件到仓库区

  git commit [file1][file2]... -m [message]

  更新远程仓库

  git remote update

  取回远程仓库的变化,并与本地分支合并

  git  pull  [remote][branch]

  上传本地分支到远程仓库

  git push [remote][branch]

  

  分支操作

  创建分支

  git branch [branch-name]

  切换分支

  git checkout [branch-name]

  删除分支

  git branch -d [branch-name]

  删除分支(远程仓库)

  git push origin -delete [branch-name]

  版本回退

    回退到上一版本

git reset --hard  HEAD^

  回退到指定版本

  git reset --hard [版本号]

  查看版本记录,得到版本号

  git reflog

  解决分支合并冲突

  合并分支命令

  git merge [branch-name]

  合并后出现冲突部分,Git会用<<<<<<<,=======,>>>>>>>标记出不同分支的内容。

  小结:当Git无法自动合并分支的时候,就必须首先解决冲突。解决冲突后再次提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑成我们希望的内容,之后再提交。

 

  一篇对于新手来说很实用的博客https://blog.csdn.net/autfish/article/details/52513465,Mark

  

  

 

  

Git工具使用小结的更多相关文章

  1. 转载:Hadoop排序工具用法小结

    本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...

  2. java keytool证书工具使用小结

    java keytool证书工具使用小结 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt    PEM-encod ...

  3. 【转】第 02 天:在 Windows 平台必裝的三套 Git 工具

    原文网址:https://github.com/doggy8088/Learn-Git-in-30-days/blob/master/docs/02%20%E5%9C%A8%20Windows%20% ...

  4. windows中使用Git工具连接GitHub(配置篇)

    Git在源码管理领域目前占很大的比重了,而且开源的项目很多都转到GitHub上面了.例如:jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js,  ...

  5. Git详解之六 Git工具(转)

    Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你 ...

  6. Git详解之六:Git工具

    Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力.(伯乐在线 ...

  7. 使用git工具将项目上传到github

    注册github账号 https://github.com/ 安装git工具: https://git-for-windows.github.io/ 上面的准备工作完成后,现在开始操作. 一.进入gi ...

  8. Git工具的使用教程

    Git 是一种版本控制工具,也叫作版本管理软件(分布式管理软件).这里介绍Git的基本使用步骤,关于 Git 更详细的介绍,读者可以参考其官方网站提供的文档. 1  安装Git 在Ubuntu系统中安 ...

  9. 使用git工具快速push项目到github(精简)

    Dear Weber ,相信有很多刚开始接触前端的程序猿,在刚接触到git工具传项目到github上时会遇到一些问题,那么下面的话呢,我就整理一下一个大致的思路提供给大家参考: 工具:git (自行下 ...

随机推荐

  1. 项目属性的target platform和target platform version到底是什么(vs2015开发windows驱动小记)

    根据官方对属性页的介绍(General Property Page (Project))可了解: target platform是build后的结果会跑在哪个平台,例如windows,android, ...

  2. python中pandas里面的dataframe数据的筛选小结

    pandas大家用的都很多,像我这种用的不够熟练,也不够多的就只能做做笔记,尽量留下点东西吧. 筛选行: a. 按照列的条件筛选 df = pandas.DataFrame(...) # suppos ...

  3. Day2 Mybatis初识(二)

    mapper接口开发 传统dao的开发问题(ibatis) 方法调用:字符串易错,硬编码 mapper代理开发 a) 编写全局配置 b) 编写接口(自动根据接口和映射文件创建实现类) c) 编写映射文 ...

  4. Linux MySql5.6.38安装过程

    1.下载mysql安装包mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz 2.用xftp工具将其上传到Linux服务器上的soft文件夹,没有的话先创建 [root ...

  5. ceph 分布式存储安装

    [root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo 下载阿里云的base源 [root@localhost ~]# wget -O /etc/yum. ...

  6. Robot Framework自动化测试---Selenium API

    一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com chrome 浏览器对应的关键字: firefox FireFox ff internete ...

  7. ubuntu16.04安装oracle常见问题

    报错信息: Err:2 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libdrm2 amd64 2.4.83-1~16. ...

  8. django用户验证机制

    django的验证机制 from django.contrib.auth.decorators import login_required 需要在要验证的界面添加`@login_required` 登 ...

  9. Flume性能测试报告(翻译Flume官方wiki报告)

    因使用flume的时候总是会对其性能有所调研,网上找的要么就是自测的这里找到一份官方wiki的测试报告供大家参考 https://cwiki.apache.org/confluence/display ...

  10. 【转】C++三大特性

    又重新看了一个多月的书,也算是基本上了解了一些很基础的东西,学习C++就得掌握它所具备的三大特性. 封装性是基础,继承性是关键,多态性是补充,并且多态性存在于继承的环境中. 封装性 C++语言中支持数 ...