- Git是什么?
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Git的工作原理:
Git有三个区域(Git 的工作目录 暂存区域 以及本地仓库)一般我们会在工作目录中通过add先把文件保存在暂存区域中,然后再通过committed推到库中。
- Git具体操作
在安装好git之后首先需要初始化一个Git仓库
1、在一个空的目录下执行命令git init
此时当前目录下会多了一个.git的隐藏目录,这个目录是Git来跟踪管理版本的。
2、首先创建一个文件main.c文件内容下图显示了,
第一步:使用命令 git add 文件名 把文件添加到暂存区里面去。
第二步:用命令 git commit –m ‘注释内容’ 告诉Git,把文件提交到仓库
3、git status来查看工作区的状态是否还有文件未提交
第一步执行git status命令,显示说明没有任何文件未提交
当我们再次更改文件main.c之后再次执行git status命令上面的命令告诉我们文件已被修改,但是未被提交的修改。
系统给我们了一个提示,可以通过git add命令来保存更改,或者通过git checkout命令来撤销修改。
4、git checkout命令来撤销对工作区文件的修改
可以看到main.c文件回复到了修改前的样子。
5、git reset HEAD 文件名 从暂存区撤离将要提交的文件
刚才讲了从工作区撤销修改的命令,这个命令则是专门撤销暂存区的命令。
我们重新再次的修改main.c文件,add保存到缓冲区,status查看状态显示需要上传仓库证明暂存区已经存储了修改,然后我们把执行git reset HEAD 文件名命令之后再次查看状态就会显示需要add进暂存区。
6、查看历史修改记录
git log
git reflog //显示简单版的信息
首先为了方便显示我添加了几个版本,然后在演示了两条指令,图中划红线的代表版本的唯一标识。
7、版本回退
git reset --hard HEAD^ //查看上一个版本,^代表上一个的意思,HEAD^^代表上两个;HEAD~100代表上100个版本,
git reset --hard +版本标示 // 可以用git reflog 查看版本的标识,选择要切换的版本;
8、创建分支与合并分支
git branch 分支名 //创建分支
git checkout分支名 //切换分支
git checkout –b 分支名 //创建并切换分支
git branch //查看分支
此时在分支dev下修改文件main.c并上传
再返回主分支上发现并没有修改main.c文件,因为刚才的修改是在dev分支上进行的,除非将两个分支合并才会在master分支上显示修改的内容。
9、分支的合并
git merge 分支名 //合并某分支到当前分支
10、删除分支 git branch -d 分支名
11、远程仓库
先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
ssh-keygen -t rsa -C youremail@example. com
第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
第3步:测试本地仓库与远程仓库的联通,确认电脑连接网络后执行下面的命令
ssh -T git@github.com
12、新建github仓库
新建完成后点击clone or download按钮选择SSH方式,复制仓库的地址用户名仓库名等信息,把远程仓库克隆到本地执行命令
git clone git@github.com:用户名/远程仓库名.git
13、从远程仓库拉文件到本地 git pull remote-name
从本地推文件去远程仓库 git push origin master