之前一直用的GitHubDesktop图方便,今天搭建集成自动化测试环境,就简单了解一下基本原理和命令,等集成环境搭好后再深入了解一下jenkins+git自动化构建、执行测试、发布。
-Workspace:工作区
-Index / Stage:暂存区
-Repository:仓库区(或本地仓库)
-Remote:远程仓库
一,安装与配置
1、安装git程序,执行下面操作
$ cd ~/.ssh //检查计算机ssh密钥
如果没有提示:No such file or directory 说明你不是第一次使用git,执行下面的操作,清理原有ssh密钥:
$ ls
$ config id_rsa id_rsa.pub known_hosts
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
获得新密钥:
ssh-keygen -t rsa -C "[email protected]"
//填写email地址,然后一直“回车”ok
打开本地...ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。
2、登陆github系统。点击右上角的
Account Settings--->SSH Public keys ---> add another public keys
把你本地生成的密钥复制到里面(key文本框中),点击 add key 就ok了
3、 接着打开git ,测试连接是否成功
$ ssh -T [email protected]
如果提示:
Hi defnngj You've successfully authenticated, but GitHub does not provide shell access.
说明你连接成功了
二,创建项目
1、回到github首页,点击页面右下角“New Repository”
填写项目信息:
project name: hello world
description : my first project
点击“Create Repository” ; 现在完成了一个项目在github上的创建。
2、我们需要在本地也创建一个相同的项目。在本地创建项目之前,需要先进行初始化配置:
fnngj@FNNGJ-PC ~/.ssh
$ git config --global user.name "username"
fnngj@FNNGJ-PC ~/.ssh
$ git config --global user.email "[email protected]
在本地创建哈喽我的项目:
$ mkdir ~/hello-world //创建一个项目
$ cd ~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git status //查看当前项目下所有文件的状态
$ git add . //对当前目录下的文件进行跟踪(跟踪文件增、删、改的状态)
$ git commit -m 'first commit'//提交至本地仓库,并注释信息“first commit”
$ git remote add origin [email protected]:defnngj/hello-world.git //连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去
现在查看github上面的hello world 项目,是不是发现已经将本地中的README文件更新上来了。
三、分支
当你在做一个新功能的时候,最好是在一个独立的区域上开发,通常称之为分支。分支之间相互独立,并且拥有自己的历史记录。这样做的原因是:
- 稳定版本的代码不会被破坏
- 不同的功能可以由不同开发者同时开发。
- 开发者可以专注于自己的分支,不用担心被其他人破坏了环境
- 在不确定之前,同一个特性可以拥有几个版本,便于比较
每一个仓库的默认分支都叫master。
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 新建一个分支,指向指定commit
$ git branch [branch] [commit]
# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
# 切换到上一个分支
$ git checkout -
# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
可能出现的错误
1.在执行
$ git remote addorigin [email protected]:defnngj/hello-world.git
错误提示:
fatal: remote origin already exists.
解决办法:
$ git remote rm origin
然后在执行:
$ git remote add origin [email protected]:defnngj/hello-world.git
就不会报错误了
2、在执行
$ git push origin master
出现错误提示:
error:failed to push som refs to.......
解决办法:
$ git pull origin master
先把远程服务器github上面的文件拉下来,再push 上去。
另外,介绍一篇更详细的基础教程:
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html?from=timeline&isappinstalled=0