git使用

1.git简介

1.1git 是什么

        git就是一个版本控制器,在开发中,Git已成为现在主流的一种代码托管技术(版本管理工具),基本上大多数的公司都在使用Git进行协同开发。

1.2 git的作用

        1.多人协同开发

        2.版本管理控制,可以进行版本回溯

        3.可以进行分支管理

1.3 git如何进行管理

        首先我们要知道git有这几个状态:工作区,暂存区,本地仓库,远程仓库。

        工作区,暂存区,本地仓库都是在本地的,只有远程仓库是在服务器上的。

        然后,我们要知道一些远程托管平台:gitee、github,我们可以在托管平台上创建远程仓库然后与本地的仓库建立连接。托管平台与远程仓库的关系就有些类似淘宝网与淘宝卖家的关系。

        接下来我们创建一个git的远程仓库来示范一下

1.提前准备

        自己下载并安装好git.exe

        下载官网:Git - Downloads

配置全局用户名和邮箱

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

        注册一个gitee的账号

2.创建自己的公钥

        首先再自己本地创建一个文件夹,然后进入文件夹,然后右键打开git Bash 输入

# 生成sshkey 
ssh-keygen -t rsa 
#执行完毕上面命令之后,按几次回车 #查看公钥的内容,复制到git的sshkey位置 
cat ~/.ssh/id_rsa.pub

        然后登陆gitee,在设置中找到SSH公钥

        把~/.ssh/id_rsa.pub中的内容全都复制粘贴到这生成公钥

ps:公钥和私钥的简单介绍

1.4 git的分支

        版本:只要有修改就会变为下一个版本 》》》HEAD会指向当前最稳定的版本

回溯后本地工作区依然还存在以前的文档,但是仓库中已经回到上一版本了

        分支管理

        子分支用来开发新的功能

2.git的使用

2.1 git创建仓库

        在D盘中的某一目录下创建一个文件夹,然后右键打开git Bash Here 输入

git init

        创建完仓库我们来了解一下git仓库都有哪些区域

2.2 git的提交

        首先在我们刚才在本地创建的文件夹下创建一个文本文档,然后打开git Bash here

工作区>>>暂存区

#将所有的文件提交到缓存区 
git add . 
#将指定的文件提交到缓存区 
git add file

暂存区>>>本地仓库

git commit -m "用于描述本次提交"

本地仓库>>>远程仓库

首先在gitee上创建一个仓库

复制ssh上的内容

在你想存放项目的文件夹内右键打开git bash here

git clone xxxx地址 (不加分支默认master) #默认拉取master分支代码

克隆完成

在clone下的项目中创建一个新的文件

然后执行以下步骤

git status #查看当前仓库状态 
git add . #添加到暂存区 
git commit -m 'xxxx' #添加到本地仓库 
git pull # 同步远程仓库到本地,检查远程仓库是否比本地版本更高一些 
git push #推送到远程仓库

远程仓库

2.3 git分支的创建与合并

创建分支

git checkout -b xxx分支名字 #创建并切分支

查看分支

git branch #查看本地分支 
git branch -a #查看所有分支

合并分支到当前分支

git checkout master #切换到master分支 
git merge xxx分支名字 #合并分支

本地合并后,上传至远程仓库

本地分支到远程分支

git checkout master 
git pull origin xxx分支名字 #远程拉取XX分支 
git merge origin /xxx分支名字 
git push

本地分支到远程

删除分支

git branch -d # 删除已合并的分支,有未合并代码不允许删除 
git branch -D # 强制删除有未合并代码的分支 
git push origin --delete dev_new #删除远程分支

3.git的问题解决

3.1 版本的回溯

日志查看

git log #日志 
git log --pretty=oneline #美化输出,行格式显示 
git log --pretty=oneline --abbrev-commit #简化版本号 行格式显示

历史命令日志

#版本相关,如果再版本回滚时误操作了,可以通过这 #个地方来找历史的版本号和命令进行恢复 
git reflog

撤销和回退

git checkout xxx #撤销某个文件修改,这里的数据还没有提交到暂存区 
git checkout . #撤销当前文件夹内所有修改 
git reset --hard HEAD #放弃暂存区中所有的修改和新增

版本回退(谨慎使用)

git reset --hard HEAD #放弃当前所有修改,回退到当前版本 
git reset --hard HEAD^ #回退到上一个版本
3.2 git合并时出现问题的解决

当我们在master分支对test001进行修改后并进行上传,然后再fenzhi02的分支下对test001进行修改并进行上传,然后在合并,就会出现以下问题。

错误产生原因:不同分支下对相同的文件进行了更改

错误解决办法:线下沟通,选择只选择一个分支进行更改

      1. 本地merge出现错误就在master下进行修改然后选择一种修改,然后进行add commit merge
      2. 远程的话就先pull以下,在merge;
  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值