本文简单介绍一下Git的使用,主要内容有下:
- Git基本介绍
- Git相较于SVN的优势
- Git使用流程及常用命令
Git基本介绍
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 —— [ 百度百科 ]
GitHub:https://github.com/ GitHub就是一个基于Git的代码托管网站。在上面,你可以免费托管你的代码,进行版本控制,同别人协同开发,众多优秀开发者的代码托管地。
Gitlab:使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
Git相较于SVN的优势
git比svn更快,更加流畅
git是分布式,就算服务器跪了也没问题,svn就做不到
拥有github,优秀开发者同台竞技的地方
等等……
Git使用流程及常用命令
以GitHub为例,
1.Create a new repository
2.本地创建空文件夹,在文件下执行以下demo:
git init //初始化
git add README.md //将工作文件修改提交到本地暂存区
git commit -m “first commit” //提交暂存区文件
git remote add origin https://github.com/mengkaimiao/document.git //关联远程仓库
git push -u origin master //推送修改给远程仓库
避免重复输入用户名、密码问题:
用ssh方式访问,取代默认的https访问,url是 https的时候会采用用户名认证.,是ssh地址的时候才会采用ssh认证,具体方法:
vi 本地目录/.git/config,修改https://github.com/mengkaimiao/document.git
为git@github.com:mengkaimiao/document.git
这样就ok啦。
其他常用命令list:
克隆远程仓库到本地:
git clone https://github.com/mengkaimiao/document.git
创建分支
git checkout –b dev:表示创建并切换,相当于如下2条命令
git branch dev 创建分支
git checkout dev 切换分支
合并代码: git merge dev git merge命令用于合并指定分支到当前分支上
git status 查看仓库状态
git rm XX 删除XX文件
git branch –d dev 删除dev分支
git add -A 一次性add所有文件
git add . 将所有修改过的工作文件提交暂存区
git pull origin master从远程获取最新版本并merge到本地
git fetch origin master从远程获取最新版本到本地,不会自动merge
撤销类命令:
回退到上个版本:git reset –hard HEAD^
git reset HEAD^ file;回退某文件到上个版本
如果是单个文件
1.use “git reset HEAD …” to unstage
如果已经用add 命令把文件加入stage了,就先需要从stage中撤销
然后再从工作区撤销
2.use “git checkout – …” to discard changes in working directory
git checkout a.txt 撤销a.txt的变动(工作区上的文件)
如果是多个文件
git chenkout .
如果已经commit 了,则需要
git commit –amend 来修改,这个只能修改最近上一次的,也就是用一个新的提交来覆盖上一次的提交。因此如果push以后再做这个动作就会有危险
$ git reset –hard HEAD :彻底回退到某个版本,本地的源码也会变为上一个版本的内容,此命令慎用!
这条命令同时还可以用来撤销还没commit的merge,其实原理就是放弃index和工作区的改动,因为没commit的改动只存在于index和工作区中。
$ git reset –hard HEAD^ 用来撤销已经commit的内容(等价于 git reset –hard HEAD~1) 。原理就是放弃工作区和index的改动,同时HEAD指针指向前一个commit对象。
注:撤销类命令出自
(http://www.cnblogs.com/lwzz/archive/2013/02/23/2921426.html)