git分布式版本控制系统
1.git介绍
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.git安装
git官网下载安装,全部都是下一步然后install,检验安装是否成功:选择一个文件,右键看是否有Git Gui here(图形化管理界面)和Git Bash here
3.初始化git仓库
这个仓库会存放,git对我们项目代码进行备份的文件
在项目目录右键打开Git Bash here
命令:'git init'
4.在git中设置下当前使用的用户
每一次备份都会把当前备份者的信息储存起来
命令:‘git config --global user.name "自己的名字"’
‘git config --global user.email "自己的邮箱"’
5.把代码放到git仓库中
1.把代码放在仓库门口(暂存区)
命令:‘git add ./’把所有文件添加到仓库门口(如果是当前文件下的一个子文件则是git add ./子文件名)
2.把仓库门口的代码放到房间里去(版本库)
命令:‘git commit -m "这是对这次添加的东西的说明" ’
如果没有加 -m就会进入一个ivm编辑器,要强制退出:按下esc然后输入英文状态下的:q!
3. 可以一次性把我们修改的所有代码放在房间中(版本库)
命令:‘git commit --all -m "一些说明" ’
6.查看当前的状态
可以用来查看当前代码有没有被放到仓库中去
命令:‘git status’
7.查看日志
命令:‘git log’ 查看历史提交的日志
‘git log --oneline’ 查看简洁版的日志
8.回退到指定的版本
命令:‘git reset --hard Head~0’ 表示回退到上一次代码提交时的状态(如果回退到上上次代码提交的状态‘git reset --hard Head~1’ )
‘git reset --hard 版本号’ 可以通过版本号精确地回退到某一次提交时的状态
‘git reflog’ 可以看到每一次切换版本的记录:可以看到所有提交的版本号
9.分支
默认是有一个主分支master
创建分支:‘git branch dev'
创建了一个dev分支
在刚创建时dev分支里的东西和master分支里的东西是一样的
切换分支
‘git checkout dev’ 切换到制定的分支,这里是切换到名为dev的分支
‘git branch’ 可以查看当前有哪些分支
合并分支
'git merge dev '
合并分支内容,把当前分支与指定分支(dev)进行合并
合并时如果有冲突需要手动处理,处理后的结果需要再提交一次
GitHub
不是git只是一个网站
只不过这个网站提供了允许通过git上传代码的功能
提交代码到github (master是分支名,如果分支名不是这个,需要改一下)-https方法
git push 地址 master
示例:‘git push https://github.com/web_lh.git master’
会把当前分支的内容传到远程的master分支上
ssh方式提交代码到服务器(安全)
优点:命令地址邮箱可生成两个文件;公钥和私钥,两者之间有关联(私钥自己保留)
1)任意位置右键 选择git bash here 生成公钥和私钥
输入:ssh-keygen -t rsa -C "Linda@sina.com"
回车后设置存储位置,默认即可
继续回车到最后
回到C盘,打开用户目录,找到自己的用户名,找到里面的isc文件后有个.pub文件就是公钥,id_rsa就是私钥
打开.pub文件复制下来所有代码去github网站设置公钥(点击settings进入后点击SSH and GPG keys,把代码粘贴上去,点击addssh)
然后create New repository,点击ssh把地址复制一下拿到地址代码
2)拿到代码:
本地新建文件夹后 输入git init。
再输入 git pull 地址 master
看到“done”表示下载成功
从github拿数据或者从服务器拿数据
git pull 地址 master
会把远程分支的数据得到:(*注意本地要初始化一个仓储)
git clone 地址
会得到远程仓库相同的数据,如果多次执行会覆盖本地
在push和pull操作时,先pull再push
先pull的话,如果服务器版本和本地不同,我们可以把冲突先在本地解决,然后把最新的版本(push)上传到服务器
pull和push的简洁操作
git remote add orgin git@hub.com:ddd/ddd.git 相当于是把地址赋值给变量orgin,下次push和pull就不用输地址,而git push/pull origin master就可以了
当我们在push时加上-u参数,那么在下一次push时我们只需要写上‘git push’就能上传我们的代码了(加上-u之后,git会把当前分支与远程指定的分支进行关联,git push origin master)