git是什么
Git
理论
版本控制式一种记录一个或若个文件内容变化,以便将来查阅特定版本修订情况的系统(记录代码文件的变化),采用版本控制系统(version control system--->VCS)你就可以将某个文件回溯到之前的状态,甚看,至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等,使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子,但额外增加的工作量却微乎其微
2.git和svn的区别
集中式的版本控制系统CVCS centralized version control system svn
分布式的版本控制系统DVCS distributed version control system git git特点:
直接记录快照,而非差异比较(不用比较差异)
. Git一般只增加数据(拉取、上传代码)
. Git保证代码完整性(git在每一次提交上传的时候,会比较远程仓库的信息校验和本地仓库的信息校验是否一样,一样的话继续上传,不一样停止上传,任何事情不可以绕开git操作)
版本控制系统的发展
Git是一个分布式版本控制系统:记录项目代码
版本控制系统存在的方式(VCS version control system):
- 简单的VCS 单个数据库记录代码的内容变化
- 集中式的版本控制系统CVCS centralized version control system svn
分布式的版本控制系统DVCS distributed version control system git
第三方仓库上传一个包
Maven主机ip :192.168.1.136
Nexus主机:192.168.1.137(能连接外网)
先在nexus主机上创建一个厂库
http://192.168.1.137:8081/repository/gyy/
将gyy这个厂库加入到仓库组中
然后到maven主机上修改配置文件
vim /usr/local/maven/conf/settings.xml
保存退出开始上传
mvn deploy:deploy-file -DgroupId=com.aliyun.oss -DartifactId=aliyun-sdk-oss -Dversion=2.6.1 -Dpackaging=jar -Dfile=/root/aliyun-sdk-oss-2.6.1.jar -Durl=http://192.168.1.137:8081/repository/gyy/ -DrepositoryId=gyy
上传成功!去nexus主机上查看下是否有文件
先查看下本机中是否安装git
把写好的代码上传到本地仓库
git add test.py #添加到暂存区
git config --global user.name "gyy"
git config --global user.email "gyy17309248487@163.com”
代码的回滚:
- 在暂存区中回滚
首先编辑下文件添加一行内容保存退出
git add test.py 添加
git status 查看下
连接github
git reset HEAD test.py #撤出暂存区
git checkout -- test.py
cat test.py(查看下)
- 在本地仓库中回滚
vim test.py
git add test.py 添加
git commit -m "second" 改哥名
git log 查看id号
git reset --hard d7913275960ee2c5acf3510366e29cdda6c58f5e复制想要回滚到的名字的id
删除本地仓库的文件
Git rm test.py
分支
首先创建一个分支
git branch yy
git branch 查看分支
git checkout gg #切换分支
vim test.py
保存退出并上传
git add test.py
git commit -m "second"
再切回主干
git checkout master
查看下
首先准备注册OK的github账号并登录
在主机上进行远程连接
先在主机上生成一个ssh密钥ssh-keygen(一路回车)
cat /root/.ssh/id_rsa.pub(查看下密钥---路径上面写的有)并复制下来