赞
踩
SVN(集中式版本控制工具)
有一个单一的集中管理的服务器,保存所有文件的修订版本,所有人都通过客户端连接到这台服务器,取出最新的文件进行提交或更新。
优点:
容易进行数据维护
缺点:
单点故障(服务器宕机)的时候,无法进行协同工作
GIT(分布式版本控制工具)
每个用户提取的不是最新版本的文件快照,而是把代码仓库完整的克隆下来,这样任何一处协同工作的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。每个客户端的每一次文件提取操作,实际上都是一次对整个仓库的完整备份。
缺点:
代码保密性差,一旦开发者整个库克隆下来就可以完全公开所有代码和版本信息
优点:
服务器断网的情况下也可以进行开发
每个客户端保存的也都是整个完整的项目
git主要分为3个区:工作区、暂存区、本地库
命令名称 | 作用 |
---|---|
git config --global user.name '用户名' | 设置用户签名 |
git config --global user.email '邮箱' | 设置用户签名 虚拟邮箱,git并不会验证该邮箱是否存在 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m "日志信息备注" | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
首次安装需要设置用户签名,否则无法提交代码
- 配置用户签名:识别开发人员,与登录github账号无关
- git config --global user.name '用户名'
- git config --global user.email '邮箱'
-
- 配置完后查看配置:
- git config --list
git bash客户端中,可以使用linux通用命令,如:vim、ll、cat、tail等
- git init #初始化git仓库
-
- git status #查看文件状态
- ps:如果文件未被追踪,则文件会显示为红色
-
- git add 文件路径 #追踪文件
-
- git rm --cached 文件路径 #删除暂存区文件
-
- git commit -m "提交信息"
-
- git log #显示所有提交记录
-
- git reset --hard 版本id #回退版本
-
- git reflog #查看所有版本信息
-
- git diff #表示未使用add命令的修改,查看到所有文件的更改内容
git reflog(查看精简版本信息)
看到版本号的前7位
看到提交的commit信息
git log(查看完整版本信息)
看到是谁提交的版本以及时间
看到完整的版本号
看到提交的commit信息
git reset版本回溯
git reset --hard 版本id
输入git reflog的7位版本id,就可以回溯到旧版本上
其实就是移动了head指针
同时多个任务一起开发,创建每个任务的单独分支,提高开发效率。
- git branch 分支名 #创建分支
-
- git branch -v #查看分支
-
- git checkout 分支名 #切换分支
-
- git merge 分支名 #把指定的分支合并到当前分支上
在hot-fix分支上进行修改,现在想将hot-fix分支合并到master分支,记住要先切换到master分支上
产生冲突
两个分支在同一个文件的同一个位置有两套完全不同的修改,git无法替我们决定使用哪一个,必须人为决定新代码的内容。
我们在hot-fix分支修改了hello文件的最后一行,并提交。
再到master分支修改了hello文件的最后一行,并提交。
然后将hot-fix分支合并到master分支,会提示合并失败。
此时需要我们手动合并,我们打开hello文件
将要的东西修改后,重新执行git add——git commit等操作。
- git remote -v #查看当前所有远程地址别名
-
- git remote add 别名 远程地址 #添加远程库
-
- git remote rm 别名 #删除别名
比如使用gitee的SSH链接,HTTPS链接每次git push都要输入密码。
操作步骤:
- cd ~/.ssh
- 提示没有该文件,表示是第一次使用git,直接输入如下命令
- ssh-keygen -t rsa -C "邮箱/名称"
- 然后一直按回车(3下)
-
- 输入cat ~/.ssh/id_rsa.pub
- 将输出的公钥复制
复制公钥信息,打开 gitee,我的账户-设置-SSH 公钥,如下图所示,把公钥粘贴到公钥文本框中,标题自己定义,然后点击确定按键,输入密码
后续使用提交就不用用户名和密码了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。