git使用介绍

1.git的作用

  分布式版本控制系统:就是一个或者一个软件,我们对其进行若干次修改,而git帮助我们记录每次的修改,可以快速定位到每次的修改内容是啥。

2.分布式版本控制系统和集中式版本控制系统

  集中式版本控制系统(svn):版本库在中央服务器里,用户每次都要从中央服务器里得到文件,更新以后在上传到中央服务器;

  分布式版本控制系统(git):每个电脑都存储一个完整的版本库,不需要联网就可以获得所有的版本,但是要和其他人协作完成任务,还是need集中服务器的;

3.上传项目,clone项目时需要ssh key,这个ssh key需要我们自己配置;

4. 建立仓库:在一个空目录下面执行git init指令把这个目录变成我们的仓库。然后我们把文件放进仓库里,git会管理仓库的文件,就git管理的范围是有限的,只管理仓库的文件;那怎么添加文件,使用git add  <filename> ,git commit -m "xxx"

5.使用git status <filename>查看文件是否修改了,使用git diff <filename>查看具体修改了什么内容;

6. 目录下面有工作区和版本库(暂存区和master分支)

版本库内容存储在.git里面,每当新创建一个版本库时会默认创建一个master分支,那修改工作区的内容,修改以后git add到暂存区,然后我们又使用git commit -m把暂存区的内容一起提交到分支里面,且git commit只能把暂存区的内容提交;

6.版本回退

  已经git commit的内容想回退到某个版本使用 git reset --hard 版本id,实际上移动的是master指针;

7.撤消修改有三种情况

  case1.   工作区修改还未git add    ----->  git checkout --file 

  case2.   工作区修改已经git add,还没有git commit   ----->使用git Reset Head file,跳到case1

  case3.   工作区修改已经git add,并且git commit(见6)使用版本回退 git reset --hard 版本id

8.远程仓库

  本地仓库大都是自己使用,对于协作不方便,那么我们也可以把git仓库放到其他服务器上面,那github就是远程的git托管服务器,我们可以把东西推到github服务器的git仓库

里面,也可以从远程的git仓库clone东西;那本地仓库和远程仓库在传输东西的时候需要 ssh key,github官网上有生成ssh key的方法;把本地仓库和远程仓库关联起来:

git remote add origin git@github.com:github帐户名/learngit.git,删除本地仓库和远程仓库的关系 git remote remove origin; git push -u origin master;
9.分支管理

git一般不修改master分支上文件,用master分支发布版本,然后每个人在新建一个分支,在自己新建的分支里面进行修改,最后合并分支,但是如果同时对一个文件进行修改了,会出现conflict,那么要解决conflict,最后没有用的分支可以删除;

首先创建新分支 git branch name;

Head指针切换到新分支 git checkout name;

上面两条合并到一起就是创建一个新分支并且跳到新分支 git checkout -b name;

一般当前分支是master,把其他分支合并到master分支 git merger othername;但是如果有conflict,就会有

<<<<<Head表示当前分支修改的内容,=====后面是其他分支进行的修改,>>>>>feature1是其他分支,那么手动修改的时候把这些符号删除后重新保存,git add和git commit即可;那当前分支转换的时候其实变得是Head指针具体指向谁;

删除分支 git branch -d name; 

  

原文地址:https://www.cnblogs.com/zhihuayun/p/7840861.html