一、git的工作流程
工作流程.jpgworkspace:工作区
index:暂存区
repository:仓库区
remote:远程仓库
二、git和svn的区别
SVN的版本库在中央服务器上,必须联网(互联网或者局域网)工作,修改代码都推送到中央服务器上。适合在局域网的开发缓解。
Git是分布式版本控制系统,每个人的电脑都是一个完整的版本库,工作不用联网,修改之后互相推送修改的代码给对方。
三、安装git
略
四、安装完成后的配置
配置用户名和邮箱:
git config --global user.name "zhangsan"
git config --global user.email "zhangsan@qq.com"
五、常用操作
1、新建版本库(仓库)
在根目录下输入git init
命令,把这个目录变成git可以管理的仓库。此时文件夹中多出一个.git文件夹(可能隐藏),用于git版本管理。
2、添加文件到版本暂存区
git add readme.txt
添加某个文件,read.txt是文件名
git add .
添加所有修改文件
没有任何提示说明添加成功
3、将文件从暂存区提交到仓库
git status
查看当前文件添加提交状态
git commit -m "提交信息"
提交暂存区的代码,并添加提交信息
git diff readme.txt
查看修改内容
4、版本回退
(1)、查看历史记录
git log
查看版本号
git log -pretty=oneline
只显示版本号
git relog
查看所有版本,获得版本号
(2)、回退
git reset --hard HEAD^
回退到上一个版本
git reset --hard HEAD^^
回退到上两个版本
git reset --hard HEAD~100
回退到上100个版本
git reset --hard 版本号
回退到某个版本
六、撤销修改
1、workspace中已修改,还没有add时
git checkout --readme.txt
将workspace中readme.txt文件中没有add过的修改内容全部清掉
七、删除文件
直接在workspace中删掉文件,然后commit
如果误删除了文件,在commit之前,用git checkout --文件名
也可以恢复
八、github远程推送
1、配置ssh
创建ssh key
在本地命令行中输入:
ssh-keygen -t rsa -C "youremail@example.com"
然后本地出现 id_rsa和id_rsa.pub两个文件
然后将公钥配置到github账户上
2、建立远程仓库
创建新仓库之后:
git remote add origin github地址
git push -u origin master
至此,在github上就能看到上传代码了,以后用git push origin master
就能上传
3、从远程仓库克隆代码到本地
在本地文件夹根目录下git clone 项目地址
九、分支管理
1、创建切换分支
git checkout -b 分支名
创建并切换分支
git branch
查看当前分支
git branch 分支名
创建分支
git checkout 分支名
切换到某个分支
2、合并分支
eg:将dev分支上的内容合并到master分支:
(1)切换到master分支git checkout master
(2)合并dev分支修改的内容到master分支git merge dev
(3)删除dev分支git branch -d dev
十、分支策略
主分支master
主分支master用于稳定发布新版本。创建自己的分支如dev,在上面做代码修改,稳定后在将修改内容merge到master分支
bug分支
每一个bug都用一个临时分支来修复,修复完成后,将临时分支删除
eg:如果当前我们在dev分支上修改代码,接到了一个优先修复bug的任务:
(1)将当前分支工作现场隐藏git stash
(2)切换到master分支git checkout master
(3)创建master的临时分支,并切换到该分支git checkout -b issue-404
(4)修改并commit之后,切换回master分支
(5)合并issue-404分支到mastergit merge issue-404
(6)返回dev分支干活并恢复工作现场
git checkout dev
git stash pop
十一、多人协作
从远程clone十把远程master分支和本地master分支对应关联起来,远程库默认名称是origin
git remote
查看远程库信息
git remote -v
查看远程库的详细信息
git push origin 分支名
推送到远程分支
多人协作时,先将项目clone到本地,
如果是在dev分支上修改,创建远程origin的dev分支到本地来git checkout -b dev origin/dev
然后将本地dev推送到远程 git push origin dev
如果推送时出现了冲突,先pull下来,手动修改之后再push
git branch --set0-upstream dev origin/dev
将本地dev分支与远程origin/dev链接
git pull
git push origin dev
网友评论