本文简单介绍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