git是一个分布式版本控制系统
1.Git安装:
Windows下登陆官网下载git的exe文件安装
Ubuntu下载安装:sudo
apt-get install git
centos安装:yum -y install git
2.git设置:
git config --global user.name "贾成平"
git config --global user.email"jiachengping@seclover.com"
2.添加ssh密钥:(ssh密钥允许在计算机和gitlab之间建立安全连接)
打开Git bash:
$ ssh-keygen -t rsa -C"jiachengping@seclover.com"
密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行。输入完毕后程序同时要求输入一个密语字符串(passphrase),空表示没有密语。接着会让输入2次口令(password),空表示没有口令。3次回车即可完成当前步骤,此时[c盘>用户>自己的用户名>.ssh]目录下已经生成好了。
登录github
打开setting->SSH keys,点击右上角New SSH key,把生成好的公钥id_rsa.pub放进 key输入框中,再为当前的key起一个title来区分每个key。
3.git操作:
一.创建本地仓库
git init
在Test文件夹下新建README.md文件
Windows:new-item
README.md
Linux:Touch
README.md
内容:git是一个分布式版本控制系统
二.把文件添加到仓库
Git addREADME.md
三.把文件提交到仓库
Git commit -m"add README.md"
-m后面加本次提交的说明,方便后续管理和代码分析
四.把本地分支提交到服务器分支
Git push -uorigin master
第二次上传的时候遇到了rejected问题(拒绝),解决如下
Git
pull
-----从远程获取最新版本并合并到本地
原因:刚才在网站上改了README.md文件,添加了一些项目的说明,然后使用Git客户端再次提交的时候,需要先更新服务器上的变化,然后才能提交,也就是先更新再提交。
Git fetch (下载分支与数据)+git merge(合并到当前分支)
五.查看仓库当前状态
Git status
六.查看文件更改情况
Git diffREADME.md
七.查看提交日志
Git log
八.文件版本回退(时光穿梭机)
Git reset-hard HEAD^
上一个版本:HEAD^
上上个版本:HEAD^^
上一百个版本:HEAD~100
git内部有个指向当前版本的指针,回退版本仅仅是更改指针指向
九.丢弃
Git checkout-- README.md
把README.md文件在工作区的修改全部撤销,这里有两种情况:
一种是README.md自修改后还没有被放到暂存区,现在,撤销修改就回到和仓库一模一样的状态;
一种是README.md已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
十.删除文件
误删文件后的选择:
Git status查看文件:
第一种方式:从仓库删除git rm README.md 并git commit
第二种方式:恢复,git checkout --README.md 把误删文件恢复到最新版本(仓库替换工作区)
十一.克隆
git clone git://git.seclover.com/ziwen/test.git
Git clonehttps://git.seclover.com/ziwen/test.git
git支持多种协议,包括http和git,git最快
十二.
git
remote rm 仓库名