您的位置:首页 > 其它

Git入门简介

2016-04-30 13:11 387 查看
本文简单介绍一下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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git