栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Git教程

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Git教程

一、什么是Git

Git(读音为/gɪt/),是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。(通俗易懂的理解是多人开发项目的代码提交整合工具)

  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  优点:

  1.  适合分布式开发,强调个体。
  2.  公共服务器压力和数据量都不会太大。
  3.  速度快、灵活。
  4.  任意两个开发者之间可以很容易的解决冲突。
  5.  离线工作。

二、Git安装

Git安装基本是傻瓜式,三部曲(下载,安装,配置环境变量)可以参考下方教程:

​​​​​​​Git官方下载链接

Git安装教程

三、Git配置SSH访问

安装好之后,最重要的来了!

gitee创建SSH key

(这一步一定要配置好,关系到git上传下载项目)

四、Git功能介绍

有 Git Bash、Git CMD、Git FAQs、Git GUI、Git Release Note,下面我们就分别简单介绍一下。

4.1 Git Bash

Git Bash 是基于CMD的,在CMD的基础上增添一些新的命令与功能,平时主要用这个,功能很丰富

4.2 Git CMD

Git CMD 不能说和 cmd 完全一样,只能说一模一样,功能少得可怜,两者如下图:

4.3 Git FAQs

Git FAQs 就是 Git Frequently Asked Questions(常问问题),访问地址:FAQ · git-for-windows/git Wiki · GitHub

4.4 Git GUI

Git GUI 就是 Git 的图形化界面,如下图:

 可以通过它快速创建新仓库(项目),克隆存在的仓库(项目),打开存在的仓库(仓库)。

(虽然但是,学会基本命令,程序员一般都用命令行,这个就显得很鸡肋)

4.5 Git Release Note

Git Release Note 就是版本说明,增加了什么功能,修复了什么 bug 之类的。

五、Git基本命令 5.1常见命令

常用命令详解​​​​​​​

  • git config:配置信息
  • git add:添加文件到缓存命令
  • git status:查看文件的状态命令
  • git diff:查看更新的详细信息命令
  • git commit:提交命令
  • git reset HEAD:取消缓存命令
  • git rm:删除命令
  • git mv:移动或重命名命令
5.2实例1:下载项目

1、进入想要下载项目到目的文件夹下,然后右键点击

   Git Bash Here

2、在命令行里使用git clone (目标下载项目git url)

目标下载项目git url下例:

(一般直接用git base启动git,但是我一般习惯用cmd,用cmd必须要先确保添加git环境变量)

 按下回车,开始下载!

5.3实例二:创建一个自己的远程仓库

1、先在gitee官网创建远程仓库

2、​​​​​​gitee远程仓库与本地仓库关联

5.4实例三:上传代码到远程仓库

1、进入你想上传的项目文件夹下,然后右键点击

git base here

#配置你的用户名和邮箱

#  $ git config --global user.name "xxx"

#  $ git config --global user.email "xxx"

#查看用户名和密码

#     $ git config user.name

#  $ git config user.email

#(配置好的,可以跳过这步)

2、初始化本地环境,把该项目变成可被git管理的仓库

git init     

3、添加该项目下的所有文件

git add .        (注意这里有个点)

(. 表示全部文件,也可只添加某个文件,将.换为要提交的文件名即可)

4、将本地代码库与远程代码库相关联

 git remote add origin https://gitee.com/qlqaq/projects/仓库名称

5、将本地代码推送到指定远程的仓库中

git push -u origin master

5.5实例四:回退版本

1.输入命令查看本地记录

git reflog

    
   
    

列表记录:

2.找到本次rebase之前的id


3.执行命令回退

git reset --hard ca606c6

    
   
    

4.执行命名取消rebase状态

git rebase --abort 
 六、报错解决

问题报错:

  1. $ git push origin master
  2. To ../remote/
  3. ! [rejected] master -> master (non-fast forward)
  4. error: failed to push some refs to '../remote/'

问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:

1,强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容

git push -f

2,先把git的东西fetch到你本地然后merge后再push

$ git fetch

$ git merge
这2句命令等价于git pull

​​​​​​找到的方法原文链接

但是我还是报错没有解决,最后是把远程仓库的.git文件覆盖一下本地的.git后成功了!

分析原因:本地.git文件里修改与远程仓库的git文件不一致,导致无法更新合并远程仓库(自我理解,勿喷望指教!)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/831307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号