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

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

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




- 在git命令界面中,创建config,并添加如下配置
- 配置多个sshkey
- cd ~/.ssh (用户目录下的.ssh文件夹)
- vim config
- 添加Host/HostName/User/IdentityFile四项

- 多个github账号配置

- 配置多个sshkey
创建github仓库:



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

克隆仓库到本地:
建立仓库目录
mkdir workspace
在仓库目录(/workspace/myproject)下,克隆github仓库到本地
git clone git@github.com:xx168/AutoTest.git
- 此时,本地会通过密钥对连接github(会根据克隆里的域名找到config配置里的host校对,匹配连接)

- 此时,本地会通过密钥对连接github(会根据克隆里的域名找到config配置里的host校对,匹配连接)
- 如上,就将github上的仓库AutoTest克隆到了本地
推送文件到github上:
本地仓库上新建文件
vi test.txt
查看所有文件状态
git status
追踪指定文件
git add test.txt
查看指定文件的推送状态(提交历史)
git status

设置配置(没配置时,需执行一次,设置提交人的邮箱和用户名,相当于告诉github,本次是谁提交过来的代码,可任意设置)
git config --global user.email "xxxxx@126.com"
git config --global user.name "junxx"
提交已追踪(已添加)的文件,-m后面是本次提交的备注,此提交只提交到本地
git commit -m "测试增加文件"
将提交的文件集推送到github上的仓库中
git push

- 提交结果如下

拉取github上的仓库文件到本地
拉取项目到本地
git pull
- 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致,如下

- 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致,如下
分支操作-如何创建分支(创建后,分支的初始内容和master的一样)
查看本地分支命令:
git branch查看所有分支(含本地分支和远端github分支):
git branch –a创建一个本地分支(develop):
git checkout -b develop查看远端github的分支数量

将本地分支的内容提交到远端分支上:
添加提交内容:git add test.txt
提交已添加的文件:git commit -m "提交到分支1上的内容"
首次推送本地分支的文件到远端分支(develop):
git push --set-upstream origin develop
- 后续的推送,都只要用git push即可

- 后续的推送,都只要用git push即可
分支操作-删除分支
先切换分支,再删除(因本次工作分支是无法删除的)
- 切换到本地分支master:
git checkout master - 删除本地分支develop:
git branch -d develop- 强制删除本地分支是:
git branch -D develop
- 强制删除本地分支是:
- 删除远端分支develop:
- 先在本地进行删除操作:
git branch -r -d origin/develop - 将本地操作推送到远端分支,即会删除远程分支:
git push origin :develop- 注:本地删除操作时,远端分支还没删除,需要进一步推送,才删除,推送时,冒号前有一空格

- 注:本地删除操作时,远端分支还没删除,需要进一步推送,才删除,推送时,冒号前有一空格
- 先在本地进行删除操作:
分支操作-合并分支
- 切换到master分支:
git checkout master - 将目标分支合并到当前分支(master)上:
git merge develop

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

此时,打开合并后的文件,如
vi test.txt,手工编辑和处理冲突内容(删减等),然后再提交到主干,如下:git add test.txt
git commit -m "解决合并冲突"
cat test.txt
git push
git项目版本操作
版本回退操作
- 添加所有有更改过的文件:
git add .

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

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

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

- 回到指定版本时,可往前回退,也可往后回退。
附录(git常用操作)
拉取git上的项目到本地
git clone git@git.mailtech.cn:icm/autotest.git
切换到拉取下来的项目
cd autotest/
添加该目录下,需要提交的文件夹
git add icmAutoTest/
查看需待提交的项目状态
git status
提交已添加的项目到本地git
git commit -m "xx中心自动化脚本完整提交"
查看需待提交的项目状态
git status
将提交到本地git上的资源,推送到远程目标git仓库上
git push
拉取代码更新到本地
git pull
- 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致
Git的安装与使用详解的更多相关文章
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
- Windows系统Git安装教程(详解Git安装过程)
Windows系统Git安装教程(详解Git安装过程) 今天更换电脑系统,需要重新安装Git,正好做个记录,希望对第一次使用的博友能有所帮助! 获取Git安装程序 到Git官网下载,网站地址: ...
- 全网最详细的Windows里Git client客户端管理工具SourceTree的下载与安装(图文详解)
不多说,直接上干货! 很多人用Git命令行不熟练,那么可以尝试使用SourceTree进行操作. 安装之前的必备 (1)Git的安装 Git学习系列之Windows上安装Git详细步骤(图文详解 ...
- 学习笔记--Grunt、安装、图文详解
学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...
- Ubuntu下Git从搭建到使用详解
Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...
- git概念及工作流程详解
git概念及工作流程详解 既然我们已经把gitlab安装完毕[当然这是非必要条件],我们就可以使用git来管理自己的项目了,前文也多多少少提及到git的基本命令,本文就先简单对比下SVN与git的区别 ...
- legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)
legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead) 一.总结 一句话总结: 1.安装的话就是下载好git,va ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- zookeeper的安装(图文详解。。。来点击哦!)
zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133 sunshine 192.168.83.134 sunshineMin 19 ...
随机推荐
- day9 修改文件
# 修改文件 # 文件是不能修改 with open('小护士班主任', mode='r', encoding='utf-') as f, open('小护士班主任.bak', 'w', encodi ...
- libgdiplus安装配置
1.下载安装包:wget http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.4.tar.gz2.解压缩.编译安装 ...
- 剑指offer-面试题47-礼物的最大价值-动态规划
/* 题目: 给定一个m*n的棋盘,每格放一个礼物(每个礼物的值大于0), 从左上角出发,向下或向右走到达右下角,得到的礼物和最大. */ /* 思路: f(i,j)=max[f(i-1,j),f(i ...
- [转]Maven的pom.xml文件详解
Maven的pom.xml文件详解------Build Settings 2013年10月30日 13:04:01 阅读数:44678 根据POM 4.0.0 XSD,build元素概念性的划分为两 ...
- 数据库中间件DBLE学习(一) 基础介绍和快速搭建
dble基本架构简介 dble是上海爱可生信息技术股份有限公司基于mysql的高可用扩展性的分布式中间件.江湖人送外号MyCat Plus.开源地址 我们首先来看架构图,外部应用通过NIO/AIO进行 ...
- echarts地图
<html> <body> <div id="cbar" style="width: 100%; height: 360px"&g ...
- Truck History POJ - 1789 板子题
#include<iostream> #include<cstring> #include<algorithm> #include<stdio.h> u ...
- 中间件c10k问题
中间件c10k问题 没有使用iocp/epoll/kqueue通讯的中间件,中间件就算部署在拥有多核CPU的强大服务器上,最头痛的问题是C10K问题. 中间件没有办法通过优化程序,提升CPU利用率来处 ...
- Linux c++ 转string模板函数,写文件
#include <iostream> #include <sstream> using namespace std;//转string模板函数 template <cl ...
- 视频中“5s后可跳过广告” 设计目的
来源:https://wen.woshipm.com/question/detail/0quoes.html 1.保证你在看.用户关掉广告这5秒内,他的眼睛会盯着屏幕,因为他知道5秒之后就能跳过广告. ...