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 BashGit CMDGit FAQsGit GUIGit 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:

首先要配置好ssh公钥:

0、安装好git后在指定目录下鼠标右键gitbash here

弹出命令行窗口:

1、配置本地用户名及邮箱

  1. # 配置用户名

  2. git config --global user.name "用户名"

  3. # 配置邮箱

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

以上命令执行结束后,可用 git config --global --list 命令查看配置是否成功

2、git生成公钥

1)在git bash窗口输入下面指令即可生成带注释的公钥

ssh-keygen -t rsa -C '邮箱地址'

2)设置存放公钥的位置,默认的话直接回车键确认

3)输入密码和确认密码,不设置密码直接按回车键

3、git查看ssh公钥的方法

 1)通过git bash命令窗口

  ①直接输入cat ~/.ssh/id_rsa.pub即可查看

  ②逐步进入目录打开文件

   a.进入.ssh目录:cd ~/.ssh

   b.找到id_rsa.pub文件:ls

   c.查看公钥:cat id_rsa.pub 或者vim id_rsa.pub

 2)直接打开用户目录下的.ssh文件夹,打开里面的id_rsa.pub文件即可查看

下载项目

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 

5.5实例五:常规操作

1、查看修改文件:

git status

2、添加修改文件到缓存:

git add .

 再次用git status 命令查看缓存文件:

 3、将暂存区里的改动提交到本地的版本库:

git commit -m '备注'

4、push到远程仓库

git push -u origin master

5.6实例六:跟新远程仓库版本到本地:

 1、查看远程仓库:

git remote -v

 2.从远程获取最新版本到本地

命令git fetch origin master:temp   这句命令的意思是:从远程的origin仓库的master分支下载到本地并新建一个分支temp

(```)
$ git fetch origin master:tempFrom git@gitee.com:Devilfromhell/advertising_board_fore.git
* [new branch] master -> temp
(```)

3.比较本地的仓库和远程参考的区别

 命令git diff temp  命令的意思是:比较master分支和temp分支的不同

4.合并temp分支到master分支

 git merge temp   合并temp分支到master分支

5.如果不想要temp分支了,可以删除此分支

 git branch -d temp
 如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>

5.7实例七:建立分支并提交

1、git branch -a 查看分支信息

2、git chenckout -b demo 创建并切换到demo分支(在之前在远程仓库上建立demo分支“好像也不需要”)

3、git add . 添加跟新的代码文件

4、git commit -m "备注信息" 提交缓存区

5、git pull origin demo --allow-unrelated-historie 强推(不强推有一些报错)

6、git push -u origin master  推到远程仓库

六、报错解决

问题报错:

$ git push origin master
To ../remote/
! [rejected] master -> master (non-fast forward)
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文件不一致,导致无法更新合并远程仓库(自我理解,勿喷望指教!)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值