git使用入门教程

 2015年03月28日    119     声明


本文简单介绍git的相关概念及常用命令,旨在帮助新人快速学习使用git进行版本控制与管理。


1.创建git版本库

创建新的git仓库步骤为:1. 新建文件夹。2.在新建的文件夹执行如下命令:

git init

示例:

$ mkdir myProject          //新建文件夹
$ cd myProject/
$ git init                        //执行git命令
Initialized empty Git repository in /Users/liuht/code/myProject/.git/
$ ls -a                          //执行后当前目录下会有个.git的隐藏目录
.	..	.git

建立本地仓库后,就可以初始化本地  仓库,并关联本地和远程仓库,命令如下:

touch README
git add README
git commit -m 'first commit'
git remote add origin git@git.oschina.net:ac/test.git
git push -u origin master


2.git仓库克隆

从本地仓库克隆,命令格式如下:

git clone /path/to/repository

例如,克隆当前目录html项目到myTest文件夹下,命令如下:

git clone ./html ./myTest/


从远程服务器仓库克隆,命令如下:

git clone username@host:/path/to/repository

例如,克隆远程项目到myTest目录下,命令如下:

git clone git@git.oschina.net:ac/test.git ./myTest

注:不指定克隆目标目录时,将会按项目名创建项目目录。


3.提交文件改动

将文件修改提交要远程仓库分为三步:1.添加改动到缓存区、2.提交改动、3.推送改到到远程仓库。

添加改动到缓存区,命令格式如下:

git add 

提交改动,命令格式如下:

git commit -m "代码改动信息"

推送代码,命令格式如下:

git push origin master

示例:

将某个文件修改提交到本地已关联的远程分支中:

git add file1        #添加file1的修改到缓存区
#或添加全部修改到缓存区
git add --all

git commit -m '改动信息'      #提交\确认必到

git push       #推送改到到远程分支


4.分支相关

创建feature分支,并切换到此分支。命令如下:

git checkout -b feature

切换回主分支:

git checkout master

合并feature分支到当前分支:

git merge feature

删除feature分支:

git branch -d feature

或,推送刚建立的feature分支到远程仓库,使其它人可见:

git push origin feature


5.文件合并与更新

更新本地代码:

git pull

合并某分支到当前工作分支:

git merge 
#如合并dev分支到当前分支
git merge dev

在多人协作的项目中,经常会遇到合并冲突的情况,建议合并前先执行添加到缓存区和确认修改命令:

#先执行
git add --all
#再执行
git commit -m '修改信息‘

执行完上述命令后再执行合并命令,git会自动合并冲突文件,合并不成功git会做做相关标识,手动合并后,再执行“提交文件改动”相关命令即可。

在合并改动之前,也可以执行如下命令查看文件异同:

git diff  


6.取消本地改动

误改动本地仓库某一文件时,可执行下面命令取消改动:

git checkout <filename>

如果想取消本地所有更改,可以从远程仓库获取最新版本并将本地分支与其关联,命令格式如下:

git fetch origin
git reset --hard origin/master


7.分支标签

发布版本时,建议为发布版增加一个标签以方便版本管理及批量回滚等。例如,如当前发布版本增加一个V1.0.0标签:

git tag V1.0.0 2c3e1a23ea

2c3e1a23ea是你提交版本ID的前10位字符,获取取提交ID可使用如下命令:

git log


8.修改git远程仓库地址

先查看remote的名字

git branch -r

假设你的remote是origin,新的git仓库地址是remote_git_address。修改命令如下:

git remote set-url origin remote_git_address