GIt是什么?                                                                     

Git是目前世界上最先进的分布式版本控制系统。

 

 Workspace:工作区

Index/stage:暂存区

Repository:仓库区(或本地仓库)

Remote:远程仓库(一般公司内网选择GitLab,外网可以选择GitHub或者码云)

SVN和Git的最主要的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的化,就很难开发了,最主要的问题是,如果服务器挂了,那么子节点上的内容,只是当前状态,这种单点故障,想恢复以前的内容就很难了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己

 

 

 

在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。而且每个人的机器就是一整套版本库,可以直接去恢复服务器的故障。

 

1 下载安装                                                               

 

https://git-scm.com

1.1 window傻瓜安装                                                                          

安装完成后可以在开始菜单或者鼠标右键中看见Git logo,点击Git Bash会出现命令窗口,则说明成功。

 

 

1.2 linux(Centos)傻瓜安装                                                                                 

 

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum -y install git-core

因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置。当然你也可以对某个仓库指定的不同的用户名和邮箱。(针对某个项目不带--global参数)

 2 基本使用篇                                                                                  

2.1 全局标识                                                                                               

git config --global user.name xxx
git config --global user.email xxxx@163.com
#查询当前配置信息
git config --list
#通过文件查看全局配置信息
cat ~/.gitconfig

 2.2 初始化版本库与局部标识                                                                       

 什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。简单的理解,就是让我们的项目交给Git大管家来帮我们管理,需要让Git知道是哪个项目。

 

  1. 创建一个版本库也非常简单,选择一个文件夹目录,例如:D:\testgit。
  2. 通过命令 git init 把这个目录变成git可以管理的仓库。
  3. 这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

 

  

而我们的标识信息就在config文件下。

没有局部标识就会使用全局标识,一般情况下(推荐),使用全局标识就好了。

局部标识优先级大于全局标识。

cat .git/config
git config user.name xxxxx
git config user.email xxxxxxx@163.com

 

 

2.3 基础操作                                                                                                       

1.git init                     //初始化本地git仓库

2.git  add                  //添加文件

3.git status               //查看状态

4.git   commit          //提交

5.git   push            //推送到仓库

6.git    pull               //从远程仓库拉取数据

7.git     clone            //从远程仓库中拷贝数据

2.3.1 工作区->暂存区->本地库基础操作                                                                   

 

 

 

 

 

使用git restore撤销工作区修改

使用git add然后使用git commit将文件添加到本地库

使用git commit -a 将文件添加到本地库

 

  • 使用git reset --hard HEAD^ ,跳跃到之前的版本 (^一个就是一个版本,^^两个就是两个版本)
  • 使用git reset --hard HEAD~1 ,跳跃到之前的版本 (数字就是要回退的版本数)
  • 以上两个命令只能后退版本号

3 分支使用:多人协作                                                                                                         

3.1 分支操作                                                                                         

  • 查看分支:git branch -v
  • 创建分支:git branch [分支名]
  • 切换分支:git checkout [分支名]
  • 合并分支:git merge [分支名]

4 远程仓库操作                                                                                   

https://github.com/

github是其中一种远程仓库,注册账号,创建仓库就可以使用了。

还有码云,gitlab等等远程仓库产品。

4.1 创建               

 

4.2 保存远程仓库地址                       

  • git remote -v 查看远程仓库
  • git remote add [远程仓库别名] [远程仓库地址]

4.3 推送远程仓库                    

git push [远程仓库地址] [分支名]

4.4克隆                    

git clone [远程仓库地址]

4.5 ssh免密操作               

建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,
输入如下命令(三次回车):

    • ssh-keygen

登录github,用户头像下打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容

4.6 邀请其他开发者

4.7 拉取操作                  

  • git fetch [远程库地址] [分支名]
  • git merge [分支名]
  • git pull -->(git fetch 和 git merge 两步操作)

     

摘抄:https://www.cnblogs.com/ttzzyy/p/12250213.html

 

posted on 2020-02-04 17:11  印记XP  阅读(77)  评论(0编辑  收藏  举报