Git知识,以及使用Gitee仓库的一些操作

Git分布式版本控制工具
  • git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

  • (安装过程这里省略)安装完成后在任意目录点击右键,如果能够看

    到“Git GUI Here ”,"Git Bash Here"则说明Git安装成功。

    Git GUI:Git提供的图形界面工具

    Git Bash:Git提供的命令行工具

  • 安装之后的基本配置

    (1)打开Git Bash

    (2)设置用户信息

    git confifig --global user.name “xxxxxx”

    git confifig --global user.email “xxxxxxx”

    (3)查看配置信息

    git confifig --global user.name

    git confifig --global user.em

  • Git工作流程图(图片来自网络)

在这里插入图片描述

其中包括的命令:

(1)clone(克隆): 从远程仓库中克隆代码到本地仓库

(2)checkout (检出):从本地仓库中检出一个仓库分支然后进行修订

(3) add(添加): 在提交前先将代码提交到暂存区

(4)commit(提交): 提交到本地仓库,本地仓库中保存修改的各个历史版本

(5). fetch (抓取) :从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。

(6). pull (拉取) :从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge

(7) push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

  • 补充一些基本linux命令:

    • ls/ll :查看当前目录
    • touch :创建文件
    • cat : 查看文件内容
  • 为常用指令配置别名(可选)

    有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名:

    • 打开用户目录,创建 .bashrc 文件;可以打开gitBash,执行 touch ~/.bashrc
    • .bashrc 文件中输入:
    //用于输出git提交日志 
    alias git-log ='git log --pretty=oneline --all --graph --abbrev-commit' 
    
    //用于输出当前目录所有文件及基本信息 
    alias ll='ls -al'
    
    • 打开gitBash,执行 source ~/.bashrc

    完成配置之后,可以直接使用“git-log”命令

  • 获取本地仓库

(1)打开任意目录,进入该目录下,右键打开Git Bash

(2)执行命令git init ,创建成功后,可在文件夹看到.git目录

  • 基础操作指令

    • 可以对Git工作目录下对于文件的修改(增加、删除、更新)

    • 简单的流程(图片来自网络):
      在这里插入图片描述

    • 基本指令:

      • git add :将工作区的修改或者创建暂存到暂存区,格式:git add 单个文件名、将所有修改加入暂存区:git add .

      • git commit :将暂存区内容提交到本地仓库

      • git status:查看的修改的状态,包括暂存区、工作区

      • git commit:提交暂存区内容到本地仓库的当前分支,格式:git commit -m “注释内容”

      • git log:查看提交日志,(如果前面配置了别名 git**-log, 都包含了这些参数,后面可以直接使用指令 git-**log)格式:git log [option],options包括

        –all 显示所有分支

        –pretty=oneline 将提交信息显示为一行

        –abbrev-commit 使输出的commitId更简短

        –graph 以图的形式显示

      • git reset --hard commitID:版本回退,commitID 可以使用 git log 指令查看

      • git reflflog:查看已经删除的记录

      • 如果我们有些文件不要纳入Git 的管理,比如一些自动生成的文件(日志文件、编译过程中创建的临时文件等), 我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式

      //忽略.html文件
      * .html
      
  • 分支

    分支就是把你的工作从开发主线上分离开来进行修改、开发新的功能,避免影响主线的开发。

    • 查看本地分支:git branch
    • 创建本地分支:git branch 分支名
    • 切换分支:git checkout 分支名
    • 切换到一个不存在的分支(创建并切换):git checkout -b 分支名
    • 合并分支,一个分支上的提交可以合并到另一个分支:git merge 分支名称
    • 删除分支(不能删除当前分支,只能删除其他分支):
      • ​ git branch -d b1 删除分支时,需要做各种检查
      • git branch -D b1 不做任何检查,强制删除
    • 解决冲突

当两个分支上对文件的修改不相同,合并时会发生冲突,就需要手动解:直接处理发生冲突的地方,再使用add,commit命令

  • Git远程仓库

    • gitHub
    • 码云( https://gitee.com/ ),也就是Gitee,国内代码托管平台
    • GitLab ( https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作 为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。
  • 使用码云:

    • 注册账号,点击右上角+号创建新仓库,输入仓库名称,其他默认即可
    • 配置SSH公钥
    //打开Git bash
    //生成SSH公钥,不断回车即可:
    ssh-keygen -t rsa
    
    //获取公钥:
    cat ~/.ssh/id_rsa.pub
    
    • 前往网站配置SSH公钥
      在这里插入图片描述

    • 配置完成后,验证是否成功:

    //执行下面代码,输入yes+回车即可验证
    ssh -T git@gitee.com
    
  • 操作远程仓库

(1)添加远程仓库

​ 先初始化本地库,然后与已创建的远程库进行对接。

命令: git remote add <远端名称> <仓库路径>;

远端名称,默认是origin,仓库路径,复制仓库SSH地址(如下图)
在这里插入图片描述
在这里插入图片描述

(2)查看远程仓库

命令:git remote
在这里插入图片描述

(3)推送到远程仓库

命令:git push [-f] [–set-upstream] [远端名称 [本地分支名][:远端分支名] ]

  1. 如果远程分支名和本地分支名称相同,则可以只写本地分支:git push origin master
  2. 加上-f表示强制覆盖,一般不使用
  3. -set-upstream推送到远端的同时并且建立起和远端分支的关联关系。例如:git push–setupstreamoriginmaster
  4. **如果推送失败出现以下错误:
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'gitee.com:lizhi21/lovemaker.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details
//根本原因时本地没有README.md这个文件,而远程仓库中有
//解决方法,执行下列命令即可:

git pull --rebase origin master
//本地就有了README.md这个文件,再推送就没问题了

(4)查看本地分支和远程分支的关联关系

git branch-vv命令

(5)克隆仓库

命令: git clone <仓库路径> [本地目录]

仓库路径同样时复制SSH地址:

在这里插入图片描述

本地目录就是你在本地某个路径打开Git bash,就克隆到本地的那个路径里

(6)抓取和拉取

​ 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并:

抓取命令:git fetch [remote name] [branch name];

例如: git fetch origin master

拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge ,如果不指定远端名称和分支名,则抓取所有并更新当前分支。

拉取命令:git pull [remote name] [branch name]

例如: git pull origin master

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GDUF-LZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值