git使用教程
一.git与svn的区别
svn:集中式版本控制
优点:管理方便,集中式服务器更能保证代码安全性,代码一致性非常高,适合人数不多的项目开发
缺点:服务器压力大,没有网络就没有办法工作
Git:分布式版本控制
优点:适合分布式开发,公共服务器和数量都不会太大,速度快比较灵活,开发者之间比较容易处理冲突,可以离线工作
缺点:代码保密性差,一旦开发者把整个库克隆下来就可以公开所有代码和版本信息
二.git工作流程
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
三.如何操作
1. 通过 git init 命令创建本地仓库
2. git add . / git add 文件名 添加文件到暂存区
3. git commit -m "注释信息" 提交到本地仓库
4. git status 查看仓库状态,有无数据变动
5. git diff 文件名 查看文件具体的变动内容
版本回撤相关命令:
1. git log 查看历史提交记录
2. git reset --hard HEAD^/HEAD^^ 回退到上一个版本/上两个版本
3. git reset --hard HEAD~100 回退到前多少个版本
4. git reflog 获取各个版本的版本号
5. git reset --hard 版本号 回退到指定版本
撤销修改和删除文件操作:
1. git checkout -- 文件名 撤销工作区没有添加到暂存区之前的修改操作(放入暂存区之后未提交之前
做的操作也可以撤销)
2. rm 文件名 删除文件,未提交可通过 git checkout -- 文件名 撤回删除操作
分支操作相关命令:
1.git checkout -b dev 创建并切换到dev分支
2.git branch 查看当前分支
3.git branch dev 创建dev分支
4.git branch -d dev 删除dev分支
5.git checkout dev 切换到dev分支
6.git merge dev 合并dev分支到当前分支
远程仓库:
1.注册github账号,创建ssh key
ssh-keygen -t rsa -C "your email"
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件
id_rsa是私钥,id_rsa.pub是公钥
2.登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
3.登录github上,然后在右上角找到“create a new repo”创建一个新的仓库,然后在本地的testgit仓库下运行命令:
git remote add origin 自己的github仓库地址
4.推送本地仓库到远程仓库: git push origin master
5.从远程仓库克隆到本地: git clone github仓库的地址
多人协作模式:
首先,可以试图用git push origin branch-name推送自己的修改.
如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。