SVN:svn是集中式版本控制工具,只有一个中央服务器有最新版本,容错性差,容易覆盖其他人的代码
GIT:git是分布式版本控制系统,有本地仓库和远程仓库
本地仓库是开发人员自己电脑上的git仓库
远程仓库是在远程服务器上git仓库,为共享版本库
第一次需clone
后续代码都需要新建合并请求如下图的流程:
Git工作流程
工作流程如下:
1.从远程仓库中克隆代码到本地仓库
2.从本地仓库中checkout代码然后进行代码修改
3.在提交前先将代码提交到暂存区(也可以直接推送并提交代码到本地仓库)
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
git常用代码
git --version 查看git版本
git config --global user.name "chen" 配置用户名 要告诉git你是谁
git config --global user.email XX.com 配置邮箱
git config --global credential.helper store 保存用户名和密码
git config --global --list 查看git配置信息
两种方法建仓库
一、创建git仓库
mkdir chen-git
cd chen-git
git init 初始化git仓库
二、克隆仓库(从github等远程仓库上克隆一个已经存在的仓库)
git clone https://github.com/XXX/XXX.git
git status 查看仓库状态
用git status查看的文件状态时:
新建的文件是红色的
提交暂缓区后的文件是绿色的绿色代表等待被提交
git add 1.text 将文件提交到暂存区
git add *.text 将所有text都提交
git add . 将当前目录下所有文件都提交到暂存区
git rm --cached 1.text 可以将暂存区的文件拿出来
git commit -m "第一次提交" 提交暂存区的文件,-m是加描述,如果没有加-m会进入vim界面
git log 查看提交记录
git reset 回退到某一个版本或者是用来撤销之前修改的内容
默认为--mixed 后面接操作ID
git diff 查看工作区、暂存区、本地仓库之间的差异
git rm 1.text 删除工作区和暂存区文件 如果需要删除版本库的文件还需要提交git commit (-m )
git ls-files 查看git暂存区的内容
GITHUB远程仓库
HTTPS方式在本地推送时要验证用户名和密码
SSH不需要验证用户名和密码,需要配置一下SSH公钥,更推荐SSH
SSH GIT配置:ssh-keygen -t rsa -b 4096
1设置保存密钥的路径
2设置SSH密钥密码(备注:空内容表示不设置SSH密钥密码)
3再次确认SSH密钥密码
没有扩展名的是私钥,复制公钥到GITHUB上
添加新的SSH密钥
1.点击右上角头像
2.点击
3.左右菜单栏点击
4.add SSH key 标题随意,key是复制的公钥
git pull 拉取远程仓库代码
git push 推送到远程仓库
github汉化 https://github.com/maboloshi/github-chinese/blob/gh-pages/README.md