git入门(一):本地仓库相关命令

git概述

git是分布式版本控制系统,分为两种类型的仓库:本地仓库和远程仓库

本地仓库:开发者在自己电脑上的git仓库

远程仓库:在远程服务器上的git仓库,一般为多个开发人员使用的公共仓库

 

git仓库之间常用的几种操作

clone:克隆,将远程仓库复制到本地

push:推送,将本地仓库代码上传到远程仓库

pull:拉取,将远程代码下载到本地仓库

 

 

git工作流程

  1. 将远程仓库克隆到本地
  2. 从本地仓库checkout检出代码后进行代码修改
  3. 提交前先将代码提交到暂存区
  4. 将代码从暂存区提交到本地仓库,本地仓库中保存着修改的各个历史版本
  5. 代码修改完成后需要和团队成员共享时,将代码push到远程仓库

 

 

git下载与安装:

官网下载,和一般软件安装无区别,一路下一步即可

安装完成后点击鼠标右键会出现git GUI和git Bash两个选项说明安装成功,GUI是git提供的图形操作界面,Bash是git提供的命令行工具。

 

git代码托管服务

上面已经知道git两种仓库类型,本地仓库和远程仓库。那么我们怎么搭建远程仓库进行git相关命令学习呢?可以借助网上的代码托管服务来搭建远程仓库,比较常用的有github 码云 gitlab

以下实例都是基于码云上远程仓库进行的实验,码云地址https://gitee.com  服务器在国内,相比github和gitlab速度更快。个人注册基本功能可以免费使用。

 

git常用命令(一)

  • 环境配置
  • 获取git仓库
  • 工作目录、暂存区、版本库概念
  • git工作目录下文件两种状态
  • 本地仓库操作
  • 远程仓库使用

下面对每一个场景详细介绍

 

环境配置

git安装完成以后第一件事情就是设置环境信息,配置用户名和邮箱;因为每次代码提交都会使用该信息。  这里的用户名和邮箱可以是任意字符串,git不会对其进行校验

环境配置方法:

1、创建空文件夹,该文件夹作为本地仓库使用的父文件夹

2、新创建的文件夹鼠标右键,点击git Bash使用下面命令配置用户信息和查询用于信息

设置用户信息

git config --global user.name "mygit"

git config --global user.email "mygit@qq.com"

设置的用户信息被保存在~./gitconfig文件中

查询配置信息

git config --list   #查询所有用户信息,上面的配置命令只是配置信息的一部分,还有很多配置信息适用默认值或者可以不关注,使用--list可以查询其使用值

git config  user.name  #查询配置信息中的user.name信息

 

获取git仓库

方法一:本地初始化仓库

  1. 设置用户信息路径下新建一个文件夹
  2. 进入新建的文件夹后鼠标右键调出git Bash
  3. 执行git init
  4. 执行完成后在当前文件夹会出现一个隐藏的文件夹.git就表示本地仓库初始化成功了

 

 

 

 

方法二:克隆远程仓库到本地

  • 首先在码云上注册账号,创建一个远程仓库

  码云上不同时间登录网站界面可能不相同,截图仅供参考

  

 

  •  创建远程仓库后复制远程仓库地址

  

  • 本地克隆远程仓库信息

  在配置用户信息的文件夹下右键进入git Bash

  执行git clone  https://xxxxx   #https://xxx为复制的远程仓库地址;本地仓库名称不用指定,保持和远程仓库一致即可

  

 

 

工作区、暂存区、版本库概念

  为了更好的学习git这几个概念应该理解清楚,后面会反复用到这些概念。

  • 工作区

  本地初始化或者远程仓库克隆的那个文件夹就是工作区,如上面的mytest20210523

  • 暂存区

  工作区里面的.git隐藏文件夹有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

  • 版本库

  工作区下面的.git隐藏文件夹就是版本库,版本库存储了很多日志信息、配置信息、文件版本信息等。

  

 

 

git工作目录下文件两种工作状态

  • untracked(未被纳入版本控制)
  • tracked(已被纳入版本控制)

git status

查看有变化的文件,下面示例中.gitignore文件被修改,test.py文件第一次新建没有添加到暂存区是状态为untracked

 

 git add filename

#将修改的文件从工作添加到暂存区,添加到暂存区以后原来tracked的文件.gitignore由红色变为绿色;原来untrackted的test.py文件由untrackted变为tracked状态,文件颜色也变为绿色

 

 

git reset HEAD filename 

#将添加到暂存区的操作撤销,文件重新回到工作区的状态

 

 git commit 

#将当前暂存区修改的文件提交到版本库。   注意:不会提交工作区修改的文件,工作区文件只有git add添加到暂存区才可以git commit。   git commit以后如果工作区没有未添加到暂存区的文件那么git status就返回所有文件状态与版本库一致

 

git commit -a 

#将contracked状态修改的文件全部进行add和commit了;这样就不需要对文件逐个进行add 

 

本地仓库操作命令

文件状态章节已经介绍了git status   git add     git commit命令,下面介绍本地仓库的其它常用操作命令

git reset 

#回退git commit

git reset  --soft HEAD~1 

#回退最近一次commit到暂存区commit之前的状态

 

 git reset  --hard HEAD~1 

#回退最近一次commit到工作区add之前的状态(回退git commit和commit包含暂存区所有add操作,如果add过untraccted文件reset以后新创建的文件会被删除)

 

git log 

#查询commit的历史记录

 

 git reset --hard  commitid

#将版本库回退到指定版本id的commit提交状态,下面示例是回退到添加test1.txt文件的提交状态

 

 

 git rm filename 

#删除trackted状态的文件,该操作默认提交到暂存区,commit后文件就在本地仓库被彻底删除了

 

 .gitignore 

#该文件内容为git版本管理需要忽略文件的规则配置,详见仓库初始化文件内示例

 

posted @ 2021-05-23 21:14  flag_HW  阅读(336)  评论(0)    收藏  举报