git安装

  • 下载安装git:采用默认配置安装即可
  • 使用git --version确认是否安装成功,如下

GitHub使用:

配置sshkey,后续可以免密登录github
  1. cd /
  2. ssh-keygen -t rsa -C XXX@1XX.com
  3. 默认回车
  4. 生成密钥对如下:

  5. 把id_rsa.pub的内容加到github中,如下







  6. 在git命令界面中,创建config,并添加如下配置
    • 配置多个sshkey

      • cd ~/.ssh (用户目录下的.ssh文件夹)
      • vim config
      • 添加Host/HostName/User/IdentityFile四项

      • 多个github账号配置

创建github仓库:





  • 创建成功后,显示相关信息

克隆仓库到本地:
  1. 建立仓库目录

     mkdir workspace
  2. 在仓库目录(/workspace/myproject)下,克隆github仓库到本地

     git clone git@github.com:xx168/AutoTest.git
    • 此时,本地会通过密钥对连接github(会根据克隆里的域名找到config配置里的host校对,匹配连接)

  • 如上,就将github上的仓库AutoTest克隆到了本地
推送文件到github上:
  1. 本地仓库上新建文件

     vi test.txt
  2. 查看所有文件状态

     git status
  3. 追踪指定文件

     git add test.txt
  4. 查看指定文件的推送状态(提交历史)

     git status

  1. 设置配置(没配置时,需执行一次,设置提交人的邮箱和用户名,相当于告诉github,本次是谁提交过来的代码,可任意设置)

     git config --global user.email "xxxxx@126.com"
    git config --global user.name "junxx"
  2. 提交已追踪(已添加)的文件,-m后面是本次提交的备注,此提交只提交到本地

     git commit -m "测试增加文件"
  3. 将提交的文件集推送到github上的仓库中

     git push

  1. 提交结果如下

拉取github上的仓库文件到本地
  1. 拉取项目到本地

     git pull
    • 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致,如下

分支操作-如何创建分支(创建后,分支的初始内容和master的一样)
  1. 查看本地分支命令:git branch

  2. 查看所有分支(含本地分支和远端github分支):git branch –a

  3. 创建一个本地分支(develop):git checkout -b develop

  4. 查看远端github的分支数量

  5. 将本地分支的内容提交到远端分支上:

    1. 添加提交内容:git add test.txt

    2. 提交已添加的文件:git commit -m "提交到分支1上的内容"

    3. 首次推送本地分支的文件到远端分支(develop):

       git push --set-upstream origin develop
      • 后续的推送,都只要用git push即可

分支操作-删除分支

先切换分支,再删除(因本次工作分支是无法删除的)

  1. 切换到本地分支master:git checkout master
  2. 删除本地分支develop:git branch -d develop
    • 强制删除本地分支是:git branch -D develop
  3. 删除远端分支develop:
    1. 先在本地进行删除操作:git branch -r -d origin/develop
    2. 将本地操作推送到远端分支,即会删除远程分支:git push origin :develop
      • 注:本地删除操作时,远端分支还没删除,需要进一步推送,才删除,推送时,冒号前有一空格

分支操作-合并分支
  1. 切换到master分支:git checkout master
  2. 将目标分支合并到当前分支(master)上: git merge develop

分支操作-解决合并分支的冲突问题

  • 此时,打开合并后的文件,如vi test.txt ,手工编辑和处理冲突内容(删减等),然后再提交到主干,如下:

    git add test.txt

    git commit -m "解决合并冲突"

    cat test.txt

    git push

git项目版本操作

版本回退操作
  1. 添加所有有更改过的文件:git add .

  2. 先本地回退到上一个版本,然后再推送到远端的github
    1. 回退到上一版本:git reset --hard HEAD^
    2. 会退到上两个版本:git reset --hard HEAD^^
    3. 一个^,代表回退一个版本,如下

    4. 回退到前第五十个版本:git reset --hard HEAD~50
  3. 查看版本id号:git reflog

  4. 如,回到v2版本:git reset --hard 0bf76fd

  5. 回到指定版本时,可往前回退,也可往后回退。

附录(git常用操作)

  1. 拉取git上的项目到本地

     git clone git@git.mailtech.cn:icm/autotest.git
  2. 切换到拉取下来的项目

     cd autotest/
  3. 添加该目录下,需要提交的文件夹

     git add icmAutoTest/
  4. 查看需待提交的项目状态

     git status
  5. 提交已添加的项目到本地git

     git commit -m "xx中心自动化脚本完整提交"
  6. 查看需待提交的项目状态

     git status
  7. 将提交到本地git上的资源,推送到远程目标git仓库上

     git push
拉取代码更新到本地
git pull
  • 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致

Git的安装与使用详解的更多相关文章

  1. Git学习系列之Windows上安装Git详细步骤(图文详解)

    前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...

  2. Windows系统Git安装教程(详解Git安装过程)

    Windows系统Git安装教程(详解Git安装过程)   今天更换电脑系统,需要重新安装Git,正好做个记录,希望对第一次使用的博友能有所帮助! 获取Git安装程序   到Git官网下载,网站地址: ...

  3. 全网最详细的Windows里Git client客户端管理工具SourceTree的下载与安装(图文详解)

    不多说,直接上干货! 很多人用Git命令行不熟练,那么可以尝试使用SourceTree进行操作. 安装之前的必备    (1)Git的安装 Git学习系列之Windows上安装Git详细步骤(图文详解 ...

  4. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  5. Ubuntu下Git从搭建到使用详解

    Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...

  6. git概念及工作流程详解

    git概念及工作流程详解 既然我们已经把gitlab安装完毕[当然这是非必要条件],我们就可以使用git来管理自己的项目了,前文也多多少少提及到git的基本命令,本文就先简单对比下SVN与git的区别 ...

  7. legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)

    legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead) 一.总结 一句话总结: 1.安装的话就是下载好git,va ...

  8. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  9. zookeeper的安装(图文详解。。。来点击哦!)

    zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133   sunshine 192.168.83.134   sunshineMin 19 ...

随机推荐

  1. QQ常用表情

    以下表情均为QQ官方表情原图,版权归QQ所有,禁止用于商业用途. ![3nEdY9.png](https://s2.ax1x.com/2020/02/21/3nEdY9.png) ![3nEaFJ.p ...

  2. 关于跨域cookie,在代码无问题下,浏览器set-cookie显示有内容,但浏览器没写入cookie(刷新没有cookie)

    在排除了代码的问题后,如 Domain 不一致,过期时间是基于当前时间增加过期时效的. 在排查返回请求时发现是过期时间的问题,设置的过期时间(Expire)小于请求的时间(Date)时,浏览器就会写不 ...

  3. Spark学习之路 (二十八)分布式图计算系统[转]

    引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphLab2. ...

  4. maven依赖包无法更新下载

    在IDEA工程中导入已存在的module时,按默认设置,直到完成导入,结果所有的外部依赖包都无法更新下载,即使是更新了setting.xml配置文件信息,依旧是不能更新下载依赖包,现将具体的操作过程和 ...

  5. UVA10085-不知错在何处

    #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #i ...

  6. LOJ#508. 「LibreOJ NOI Round #1」失控的未来交通工具

    题意 一个带边权无向图,有两种操作:加边以及询问在\(x,x+b,...,x+(c-1)b\)这些数中,有多少个数存在至少一条与之模\(m\)同余的从\(u\)到\(v\)的路径(可以不是简单路径). ...

  7. 安装APACHE到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:httpd-2.4.6 硬件要求:无 安装过程 1.安装YUM-EPEL源 HTTP-Tools ...

  8. git Auto packing the repository in background for optimum performance

    遇到问题: git本地仓库,如果长时间不进行清理,几个月以后的某一天,可能拉取代码的时候突然提示你 git Auto packing the repository in background for ...

  9. sqlserver中float转varchar时不显示科学计数法

    MSSQL中 float转换为varchar 变成科学计数法解决方案   在系统初始化的时候,因为有同事,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将 ...

  10. VS中关于数据库的操作

    1.数据库迁移 第一步: 第二步: 在窗口中选择项目中的EntitiyFramwork项目(与数据库连接的文件集) 第三步: 输入update-database 二:数据对比 第一步: 第二步:选择需 ...