git for windows快速入门教程
都说git是最好用的版本控制系统,以其独特的分布式版本控制、github的流行和强大的爹Linux系统之父linus将SVN等其它版本控制系统甩开几条街的距离。??然而在我要入坑的时候并没有找到很好的快速入门的git for windows的教程,github上的教学视频讲得太快让初学者跟不上,当然git官网的上的官方文档是很好的,也有中文版,不过得细看看很久,我花了两天的时间踩过很多坑才入门,所以寻思着总结一份简单的浅显易懂的教程。
本教程的系统环境是:win10 64位系统git版本:git for windows 2.8.2-64位
1.下载git for windows下载地址
2.安装打开exe格式的安装包后,除了修改安装目录意外,其他选项全部默认即可,一路next后等待安装即可。
3.初始配置a.申请一个github账号因为git和github是穿一条裤子的,所以有必要先申请一个github的账号,然后记下你的用户名和你申请账号时用的邮箱(即是你的gihub登陆账号),而且对于学习编程的人来说github是最好的开源社区。如果有github账号的人请忽略这一步。
b.在git上配置你的用户名和邮箱打开 git bash,输入以下两条命令
git config --global user.name "yourname"git config --global user.email "youremail"
这里有几个注意事项:(1)yourname处填写你的github用户名,youremail处填写你的github账号(2)global前面是有两条横杠的你可以使用下面这条命令来查看当前的所有配置
git config --list
如果你发现用户名或者email手贱打错了,还是用上面那两条指令重新设置就可以了
c.在本地创建一个保存git项目的文件夹我专门建了一个文件夹用于保存那些要使用git来管理版本控制的项目
cd \e //转到E盘目录下mkdir git_repository //新建一个名叫git_repository的文件夹
当然你也可以直接使用eclipse等IDE的project location中的项目文件夹做版本控制,这时候就不需要进行这一步
d.初始化在你的项目文件夹下执行下面这个指令初始化git,这个指令会在当前文件夹下新建一个名叫.git的文件夹,里面放置的都是git进行版本控制的文件,这个文件夹是一个隐藏文件夹,需要点击文件夹上方的“查看”,勾选“隐藏的项目”才能看到它
git init
e.往仓库里添加要进行版本控制的文件好了终于开始进行版本控制的正题了,如果你是新建的一个文件夹没有任何文件,那么你只要把你想进行版本控制的文件扔进来,然后执行下面这条命令,在原项目文件夹进行版本控制的同学直接执行下面这条命令即可
git add xxxx
xxxx就是你要添加的文件,包括文件名和后缀哦,比如hello.txt,然后这样就完了吗?并不是,这条命令只是把文件扔进缓存区而已,还要执行下面这条指令提交到版本控制仓库
git commit -m "备注信息"
备注信息处换成你要写的信息即可,比如第一次提交“first commit”
f.查看当前文件状态执行下面这条命令可以看见已经提交的文件和缓存区中有什么文件
git status
如果你修改了文件然而还没有add,可以看见"1 file modified but not commit"等字样,也就是说你修改文件的操作git都知道
g.查看修改部分假设现在你在本地仓库里修改了文件,commit后可以查看修改了什么内容,执行下面这条指令即可
git diff
被修改的内容会用绿色字标出来
至此你已经学会了如何在本地进行基本的版本管理了,那么我想和github上的项目或者我自己的服务器同步应该怎么办呢
4.和服务器同步因为我没有其他服务器,所以只用了github为我提供的,github为每个免费用户提供了300M的服务器空间,那么要怎么做才能同步呢?
a.初始化操作首先你得先生成一个ssh密钥,请务必执行下面这些语句:
cd ~/.ssh //转到C:\用户\你的用户名\.ssh文件夹ssh-keygen -C "XX@gmail.com" -t rsa //生成ssh密钥,这条语句会在.ssh文件夹中生成两个必要的文件:id_rsa和id_rsa.pub, //这是用rsa算法生成的公钥和私钥
其中-C后面那个邮箱使用你自己的github账号执行完上面两条语句后一路按ENTER键即可,然后复制生成的密钥,由于命令行中不能使用ctrl+c和ctrl+v,所以需要执行下面这条指令:
clip < ~/.ssh/id_rsa.pub
然后在浏览器上登陆你的github账户,然后点击右上角的头像,选择Your profile
github截图然后点击右上角的Edit profile
github截图然后再左边菜单栏选择SSH and GPG keys进去之后在SSH keys那里点击右上角的new SSH keys然后按ctrl+v把你的密钥复制进去,title可以随便命名,然后点击add,这时候github会验证你是不是本人让你重新输入登录密码,输完就可以了。至此本地和github上的初始化操作就算完成了,下面就来连接一下两者
b.连接本地和github服务器执行下面这条指令连接github
ssh -T git@github.com
如果连接成功会提示"You've successfully anthenticated"
c.将服务器上的项目同步到本地仓库如果本地一个项目文件都没有,需要将服务器上的整个项目同步到本地,请使用下面这个指令:
git clone 你的github项目的网址
这样就会把整个项目保存在本地仓库中了如果是本地和服务器都有项目文件,只是想获取本地没有的文件,那么先执行下面这条语句:
git remote add origin 你的github项目的网址.git
注意要在网址后面加上.git,否则会失败,origin是远程主机的名字,你可以把它理解为当前项目的别名你也可以起其他名字,origin是git上原本存在的一个名字,这个步骤会弹出一个窗口让你登陆github,完毕之后就将origin和你的项目匹配起来了
然后有两种方式可以同步github上的项目到本地一种是使用fetch指令
git fetch origin
fetch之后你会发现此时在你本地文件夹中找不到想要同步的项目,因为此时它还在缓存区,你要把它和当前分支合并才行,执行下面这条指令合并分支
git merge origin/master
执行完毕之后你就能在本地文件夹看到它了这里的master是本地仓库的主分支
还有一种更简单的方式,使用pull指令,这样一条指令就够了
git pull origin master
这条指令等价于上一种方法的两条指令的效果
d.将本地项目同步到github服务器使用push指令将本地项目同步到服务器
git push origin master
这里的master是你github上的项目主分支master
至此入门教程就完了,下面再总结一些比较常用的指令
5.常用命令git help <verb> //查看git的命令手册git help config //查看配置命令git log //查看在历史日志git branch -a //查看当前所有分支git branch -d 分支名 //删除某个分支git checkout 分支名 //切换到某个分支touch 文件名 //在本地新建一个空白文件git add .文件后缀 //将当前目录中的所有.文件后缀的文件加入到缓存区
That's all.
参考:windows下使用git管理github项目(入门)Git远程操作详解如何生成SSH key
版本控制系统(Version Control System,VCS)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在一个项目团队中,开发人员需要对代码做版本控制,而测试人员编写自动化测试脚本后,同样需要对这些内容的版本做维护和管理。目前比较热门的版本控制系统是:Git。
本文主要介绍以Windows操作系统为例,在GitLab上使用Git来管理测试版本(包括自动化测试脚本、测试用例、测试文档)的一系列操作,包括:Git安装、GitLab配置SSH连接、GitLab上创建仓库、上传本地项目、克隆代码到本地以及推送(Push)更新后的脚本到GitLab等。
1、Git、GitHub和GitLab
在介绍具体操作之前,我们先来了解:Git、GitHub和GitLab究竟是什么,这三者之间有什么关系。
Git:正如上面提到的,是一个版本控制系统,它是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。Git的发明者正是Linus Torvalds--Linux操作系统的开创者。
GitHub:Github和Git是两回事。Github是在线的基于Git的代码托管服务。
GitHub是2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,但是只有付费账户可以创建私有的代码仓库。
GitLab:在很大程度上GitLab是仿照GitHub来做的,它们都是在线的基于Git的代码托管服务,提供了分享开源项目的平台。但是GitLab解决了GitHub付费的问题,可以创建私人的免费仓库(PS:GitLab可免费创建私有代码仓库,但是更高级的服务仍要收费)。相较于GitHub,GitLab允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。
2、安装Git
Git有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。本文推荐第二种安装方式,到GitHub的页面上下载支持Windows系统的exe安装文件并运行,下载链接:http://msysgit.github.com/。安装Git.exe之后,开始菜单中会有 Git 文件夹,目录下有:Git Bash、Git CMD和Git GUI。
3、GitLab配置SSH连接
把本地的项目传到GitLab上,需要先配置SSH Key。当然也可以不需要SSH Key连接,可以通过HTTPS的方式上传本地项目,只是HTTPS连接时,每次要输入用户名、密码。
(1)首先,在开始菜单里找到“Git”->“Git Bash”并打开。输入如下命令以生成一个新的SSH:
$ssh-keygen -t rsa -C "email" #gitlab 注册的邮箱
然后直接回车,不用填写东西。之后会让你输入密码(可以不输入密码,直接为空,这样更新代码不用每次输入id_rsa密码了)。然后就会在“C:\Users\电脑用户名”路径下生成一个目录.ssh,里面有两个文件:id_rsa , id_rsa.pub(id_rsa中保存的是私钥,id_rsa.pub中保存的是公钥)。
(2)在如下图的GitLab上打开SSH keys->add key页面,把 id_rsa.pub公钥的内容复制进去就可以了。
图GitLab1
(3)在Git Bash上配置账户,命令如下:
$ git config --global user.name "your_username" #设置用户名
$ git config --global user.email "your_registered_github_Email" #设置邮箱地址(GitLab注册的邮箱)
(4)最后,打开IDEA或Pycharm编辑器,就可以通过SSH连接来Clone已有的仓库代码了。具体操作,下面会详细介绍。
4、GitLab上创建仓库并上传本地项目
(1)在GitLab上创建仓库,如下图。首先进入GitLab选择Create a Project,填写Project name、Project description(optional)、Visibility Level。然后点【Create project】按钮创建。
图GitLab2
(2)然后在GitLab上创建README文件。打开本地电脑中的测试脚本所在文件夹,将.idea 文件的IDE配置信息删除,这样是为了保证IDE配置信息不会上传到GitLab中。
(3)选中测试脚本文件夹,鼠标右键打开Git Bash Here,依次输入如下命令:
输入git config --global user.name "你的用户名"
输入git config --global user.email "你的邮箱"
输入git init
输入git remote add origin 配置好的 SSH 地址
输入git add .
输入git commit -m "Initial commit"
输入git push -u origin master 将代码推送到GitLab端
当然也可以根据GitLab--创建仓库后会在GitLab页面上展示出命令语句,根据这些语句来一步一步地操作。上传完成之后,本地项目就出现在GitLab上。
图GitLab3
CLONE脚本到本地
配置SSH Key之后,就可以把GitLab上的脚本直接Clone到本地。打开Pycharm或者 IDEA工具,在“Check out from Version Control”中选择“Git”,然后在“Git Repository URL”中输入GitLab上的SSH Key链接;在“Parent Directory”输入Clone项目到本地的存放路径;然后在“Directory Name”中输入项目的名称,点击【Clone】按钮,就会将GitLab仓库导入到本地。
每一个Git克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力,不依赖于网络连接或中心服务器。其最大特色就是“分支”及“合并”操作非常快速、简便。
图GitLab4
6、推送(Push)更新后的脚本到GitLab
本地推送更新后的脚本到GitLab,在配置了SSH Key连接后,使用Pycharm或IDEA工具进行操作是非常地方便。详情搜索网上相关工具的操作手册,此处不再详细介绍。
总之,版本控制系统—Git,可以协助软件测试人员管理测试脚本等内容。Git具有版本库本地化,支持离线提交,相对独立不影响协同开发等优点。每个编写自动化脚本的测试人员都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为,不用担心影响到其他测试人员提交的测试脚本。大家快去试试吧。
最后:
1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。
2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~
发表评论