GIT

1.window安装

http://git-scm.com/download/win下载Git客户端软件,和普通软件安装方式一样。

2.Linux安装

CentOS发行版:sudo yum install git
Ubuntu发行版:sudo apt-get install git

3.Mac安装

打开Terminal直接输入git命令,会自动提示,按提示引导安装即可。

4.TortoiseGit安装

直接搜索TortoiseGit下载安装即可

5.TortoiseGit函数

汉化包地址: https://tortoisegit.org/download/

找到对应版本 对应位数的汉化包下载安装即可

汉化之后可以是使用中文界面


Git工作原理

四个状态---三个工作区

下面来说一说四个状态以及三个工作区

四个状态

1.未追踪(untracked)

2.已提交(committed)

该文件已经被git管理起来,接下来对该文件进行相关操作就可以实现版本控制的效果

3.已修改(modified)

某个文件已经被提交到暂存区过了,如果对该文件进行修改,该文件的状态就是已修改

4.已暂存(staged)

某个文件已经被提交暂存区了

三个工作区

三个工作区域的概念

1、工作目录

工作目录是对项目的某个版本独立提取出来的内容,这些从Git仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改

2、暂存区域

暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在Git仓库目录中,有时候也会被称为“索引(index)”,不过一般说法还是叫暂存区域

3、Git仓库

Git仓库目录是Git用来保存项目的元数据和对象数据库的地方,这是Git中最重要的部分,从其他计算机克隆仓库时,拷贝的就是这里的数据

Git工作图示:


基本的Git工作流程

1、在工作目录中修改文件    2、暂存文件,将文件的快照放入暂存区域    3、提交文件,找到暂存区域的文件,将快照永久性存储到Git仓库目录。

Git本地仓库

Git本地仓库指的是开发者计算机中的仓库


一、关于启动Git以及相关命令

1、命令行方式:任意目录(建议开发根目录)右键=>Git Bash Here

2、配置用户

命令行:git config --global 其他

配置用户的意义在于记录开发者信息,以便在版本控制记录开发者的操作行为

git config --global user.name "自己的名字"

git config --global user.email "自己邮箱地址"

--global 配置当前用户所有仓库

注:配置用户只需要执行1次,可以重复使用
3、初始化仓库

git init

如果我们想要利用git进行版本控制,需要将现有项目初始化为一个仓库,或者将一个已有的使用git进行版本控制的仓库克隆到本地

git init会在当前项目目录中创建一个名为.git的隐藏目录,这个目录包含了暂存区和仓库两个区域,有了这个隐藏目录就可以使用git来管理项目了,通过ls-al可以查看

4、查看文件状态

git status

初始化仓库便可以进行开发了,进入到刚刚创建好并初始化为仓库的目录,添加我们开发需要的文件,注:git会忽略空的目录

5、添加文件到暂存区

git add

可以将一个未追踪的/没有使用git进行管理,已创建/修改的文件放入暂存区

添加单个文件到暂存区 git add file_name

添加所有文件到暂存区 git add *

6、将暂存区的内容放入本地主仓库

git commit -m 备注信息

如果不输入备注信息会提示一个vi编辑器,在vi编辑器中提示输入备注信息

每一次提交到本地仓库都必须输入备注信息

vi编辑器是linux系统的文本编辑器,使用的方式可以参考以上教程

7、查看历史提交

git log 

显示结果有:某一次提交的唯一标记,提交本人的信息,提交的日期

commit b0092e2787971f7d0cb656da165b9edc3c25cb01 (HEAD -> master)
Author: gaohui1994 <2026981268@qq.com>
Date:   Fri May 25 00:25:19 2018 +0800

    第二次提交:

commit 59100dca39449d9a9e4008aad8f2283ced828134
Author: gaohui1994 <2026981268@qq.com>
Date:   Fri May 25 00:22:21 2018 +0800
    第一次提交

如果你觉得上述展示的结果内容繁琐的话,可以使用以下命令简化输入结果

git log --pretty=oneline

b0092e2787971f7d0cb656da165b9edc3c25cb01 (HEAD -> master) 第二次提交:
59100dca39449d9a9e4008aad8f2283ced828134 第一次提交

上述一长串数字是通过sha1加密算法生成的版本的id号

版本id号在进行代码检出的时候会用到

8、暂存区检出

git checkout -- 文件名

如果一个文件已经存放到暂存区,希望从暂存区恢复到修改前的状态

将文件从暂存区取出,替换当前本地的文件

可以将文件恢复到修改之前的状态

git checkout 文件名/分支切换---后期会有相关介绍


git reset HEND 文件名

将已经添加到暂存区的,并且该文件没有被修改过文件,可以从暂存区取出

只是将文件从暂存区取出,但是并不使用(也就是将暂存区的修改退回到工作区)

9、本地仓库检出

git reset --hard 提交的版本号

将文件从本地仓库中恢复,取出仓库中的文件替换工作目录中的文件,相关的版本号通过git log查看

回退之后,该版本号之后的提交版本就失效了,这种操作是不可逆的 慎重操作

补救措施:世上没有后悔药,在git中,总有后悔药吃,可以使用git reflog获取相关的提交/回退记录,然后找到对应的id,回到对应的版本即可

    git工作流图示


分支

在初始化操作的时候,会自动创建一个master分支,并且有HEND指针指向其末端,master分支指向已经提交到仓库的文件的id

指针HEND用来指示当前处于哪个分支的哪个版本

git branch 查看当前的仓库中的所有的分支,*表示处于当前的哪一个分支

新建的分支会继承父分支的所有的提交历史

1.git branch branchName-------创建一个新的分支

创建新分支后,在当前新分支下进行的操作不会影响到其他分支的内容(不包括继承的父分支的内容)

2.git checkout branchName------切换到指定的分支

切换分之后,HEND会指向切换后的分支的末端,HEND会伴随着每次文件提交到仓库二移动

3.git merge branchName---------合并指定的分支到当前的繁殖

在每个子功能功能开发完成之后,可以进行分支的合并

4.git branch -d branchName-----删除指定的分支

在分支合并之后,可以删除没用的分支

5.git log -g--git branch branchName id-----恢复已经删除的分支

git log:获取提交的记录,截止到回滚的位置,获取不到自回滚位置之后的提交记录

git log --online:获取简洁版的日志信息(获取的内容和git log一样)

git reflog:获取所有的更改记录(操作日志)

git log -g:获取所有的提交记录,不会受到回滚的影响,会进入vim/vi


创建远程共享仓库

创建共享仓库的存储目录

是一个以.git结尾的目录,进入目录并初始化

a)mkdir spare.git--------创建一个以.git结尾的目录

b)cd spare.git------------进入这个目录

c)git init --bare----------初始化一个裸仓(--bare)

这是创建的仓库是一个空的仓库,并且不允许进行任何操作

向共享仓库同步共享内容

a)git push url master-----------在共享内容的目录下进行,将当前目录下的内容共享到spare.git中

从共享仓库中取出内容存放到当前目

a)git clone url(目录名称)-------------url指的是共享仓库的目录

b)git clone url(目录名称/分支名称)---------url指的是共享仓库的目录

c)git pull url master----------------

远程地址名替换

a)git remote add origin  git@github.com:Botue/repo.git

这样origin就代表 git@github.com:Botue/repo.git

强制解决冲突:在github中存在md文件,本地中不存在

a)$ git pull --rebase https://github.com/gaohui1994/git002.git master

b)$ git push https://github.com/gaohui1994/git002.git master


github账号注册

1、注册账号并完善资料

2、创建共享仓--New repository

3、填写仓库资料

4、共享仓库

5、生成密钥:在github上设置密钥(公钥),可以省去每次上传共享库文件时的重复登录验证的文件,还可以提高安全性

a)ssh-keygen -t rsa 一路回车,得到.ssh文件夹

b)复制id-rsa.pub里面的内容,设置到github中的相应的页面上


GIT补充

配置用户信息

a) Git config -l ----------------------------------------查看配置信息

b) Git config --global .....---------------------------配置本地信息,应用于所有的目录

c) Git config ......................--------------------------配置本目录信息

文件的删除

a) Rm file---------------------------删除文件,不可恢复

b) Git rm file-----------------------删除文件,可以恢复,前提是文件已经提交到仓中,删除的是暂存区的文件

c) Rm -r file---------------------递归删除

d) Rm -f file---------------------规避错误信息,不显示错误的信息

e) Rm -rf file ------------------执行的是-r和-f的结合体

删除本地仓库和远程仓库中的文件

a) 先删除缓存区的文件,再提交到仓库

b) 先删除工作目录中的文件,再逐步提交到仓库

Git diff文件的差异对比

a) 将工作目录中的文件与暂存区的文件进行比较

rm -r file

a)递归删除



SSH提交

在push 到 git@github.com:eoooxy/git_test.git 这种远程仓库地址的时候, 会报一个错误

也就是使用以下命令

 git push  git@github.com:eoooxy/git_test.git  master


在这种提交的时候  使用的是  ssh ( Secure Shell) 在提交的时候需要配置  ssh
-----> 配置过程如下:

查看本地的ssk

cd ~/.ssh

$ cd ~/.ssh

$ ls
id_rsa  id_rsa.pub  known_hosts

清楚本地旧的ssh

rm -rf ......

生成新的ssh-key

ssh-keygen -t rsa -C "your@email.com"(请填你设置的邮箱地址)

复制pub-ssh-key

也就是复制公钥, 存放在 id_rsa.pub文件

查看  id_rsa.pub文件
cat id_rsa.pub


复制内容  ctrl+c

 在github上设置

github官网 ----> 右上角展开 ----> setting ----> SSH and GpG keys -----> new ssh key

将上一步复制的  公钥   粘贴到这里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值