从0开始——Git使用教程(一)

1、版本控制工具

SVN(集中式版本控制工具)

有一个单一的集中管理的服务器,保存所有文件的修订版本,所有人都通过客户端连接到这台服务器,取出最新的文件进行提交或更新。

优点:

容易进行数据维护

缺点:

单点故障(服务器宕机)的时候,无法进行协同工作

GIT(分布式版本控制工具)

每个用户提取的不是最新版本的文件快照,而是把代码仓库完整的克隆下来,这样任何一处协同工作的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。每个客户端的每一次文件提取操作,实际上都是一次对整个仓库的完整备份。

缺点:

代码保密性差,一旦开发者整个库克隆下来就可以完全公开所有代码和版本信息

优点:

服务器断网的情况下也可以进行开发

每个客户端保存的也都是整个完整的项目

2、GIT工作机制

git主要分为3个区:工作区、暂存区、本地库

  • 若编写了错误代码,在工作区,可以直接删除。
  • 若代码git add到了暂存区,则可以使用git命令删除暂存区的代码。
  • 若代码git commit到了本地库,则会生成历史版本记录。改变结果只能重新从工作区删除走一遍流程git commit流程,但是修改记录还在。

3、GIT常用命令

命令名称作用
git config --global user.name '用户名'设置用户签名
git config --global user.email '邮箱'

设置用户签名

虚拟邮箱,git并不会验证该邮箱是否存在

git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m "日志信息备注"提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭

3.1 git使用前配置

首次安装需要设置用户签名,否则无法提交代码

配置用户签名:识别开发人员,与登录github账号无关
git config --global user.name '用户名'
git config --global user.email '邮箱'

配置完后查看配置:
git config --list

3.2 常用提交步骤

git bash客户端中,可以使用linux通用命令,如:vim、ll、cat、tail等

git init       #初始化git仓库

git status     #查看文件状态
ps:如果文件未被追踪,则文件会显示为红色

git add 文件路径       #追踪文件

git rm --cached 文件路径     #删除暂存区文件

git commit -m "提交信息"

git log         #显示所有提交记录

git reset --hard 版本id    #回退版本

git reflog        #查看所有版本信息

git diff          #表示未使用add命令的修改,查看到所有文件的更改内容

git reflog(查看精简版本信息)

看到版本号的前7位

看到提交的commit信息 

git log(查看完整版本信息)

看到是谁提交的版本以及时间

看到完整的版本号

看到提交的commit信息

git reset版本回溯

git reset --hard 版本id

输入git reflog的7位版本id,就可以回溯到旧版本上

其实就是移动了head指针

3.3 GIT分支

同时多个任务一起开发,创建每个任务的单独分支,提高开发效率。

git branch 分支名        #创建分支

git branch -v            #查看分支

git checkout 分支名        #切换分支

git merge 分支名            #把指定的分支合并到当前分支上

3.3.1 创建分支

3.3.2 合并分支

在hot-fix分支上进行修改,现在想将hot-fix分支合并到master分支,记住要先切换到master分支上

产生冲突

两个分支在同一个文件的同一个位置有两套完全不同的修改,git无法替我们决定使用哪一个,必须人为决定新代码的内容。

我们在hot-fix分支修改了hello文件的最后一行,并提交。

再到master分支修改了hello文件的最后一行,并提交。

然后将hot-fix分支合并到master分支,会提示合并失败。

此时需要我们手动合并,我们打开hello文件

将要的东西修改后,重新执行git add——git commit等操作。

4、GIT远程库

git remote -v        #查看当前所有远程地址别名

git remote add 别名 远程地址        #添加远程库

git remote rm 别名        #删除别名

比如使用gitee的SSH链接,HTTPS链接每次git push都要输入密码。

操作步骤:

cd ~/.ssh
提示没有该文件,表示是第一次使用git,直接输入如下命令
ssh-keygen -t rsa -C "邮箱/名称"
然后一直按回车(3下)

输入cat ~/.ssh/id_rsa.pub
将输出的公钥复制

复制公钥信息,打开 gitee,我的账户-设置-SSH 公钥,如下图所示,把公钥粘贴到公钥文本框中,标题自己定义,然后点击确定按键,输入密码

后续使用提交就不用用户名和密码了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值