Git的基本使用

以下内容如有错误,欢迎指正

基本概念

Git是一个版本控制系统,是一种在本地运行的代码托管系统,与我们常知道的github和gitee这类线上代码托管有所不同。
Git有工作区暂存区以及本地版本库的概念,也可用于连接github和gitee这类远程仓库,使用Git命令基本上也相当于将文件在这四个区域转移。


我通过简单的类比来介绍下这四个概念:
比如你正在写一篇文章,但是需要写的规范整洁,但是防止写错你准备采用两张纸,一张是正式写作的纸,另一张是草稿纸,写完后交给老板。老板觉得你写的不行,需要重新修改,于是你得到了新修订版本,反反复复n次以后终于完成了最后的版本。
为了避免你写的文章丢失或者你想看看下别人的文章于是你进网站进行上传和下载文章
工作区就相当于正式写作的纸
暂存区就相当于草稿纸
本地版本库就相当于你写的所有版本的集合
远程仓库就相当于可供任何人上传下载文章的网站


准备工作

Git安装

首先安装Git(很简单不详细说明了)
安装完会有Git Bash,Git CMD ,Git GUI三个程序
Git Bash需要使用linux命令
Git CMD需要使用windows命令
Git GUI是图形化界面

Git初始化设置

我们这里以Git Bash为例:
先进行初始化设置

git config --global user.name #你的用户名
git config --global user.email #你的邮箱

注意邮箱一定要和远程仓库邮箱匹配,用户名随意

项目初始化

我创建了一个名叫test文件夹位于D:/Code/test
输入:

cd D:/Code/test

然后:

git init

git init用于初始化该项目的本地版本库,也就是说如果有其他项目使用Git也需要重新初始化一次

远程仓库初始化

首先注册账号github和gitee都可以
远程仓库为确保安全一般需要绑定sshkey
windows使用win+R打开cmd
输入生成命令:

ssh-keygen -t rsa -C "你的邮箱"

找到id_rsa.pub复制里面的内容去网站个人设置绑定sshkey
然后网站建立一个仓库,复制结尾为.git的网址
Git里面输入

git remote add origin http://xxx.git
git push -u origin master

Git辅助命令

  • 查看暂存区内容
    git status
    
  • 查看本地版本库内容
    git log
    
  • Git控制台清屏
    clear
    

Git提交和恢复命令

文件提交

1. 工作区->暂存区:

  • 提交某一个文件:
    git add 文件名
    
  • 提交所有文件:
    git add *
    

2.暂存区->本地版本库:

git commit -m "这里是文件修改的描述"

3.本地版本库->远程仓库:

git push #simple方式
git push origin master #matching方式

文件回退/下载


1.暂存区回退/清空:

  • 回退单个文件
    暂存区回退
    git restore --staged 文件名 
    
    暂存区->工作区
    git restore  文件名 
    
  • 清空暂存区
    删除暂存区指定文件
    git rm --cached 文件名
    
    清空暂存区所有文件
    rm .git/index
    

2.本地版本库回退

  • 回退单个文件
    本地版本库->工作区
    git restore -s 版本id 文件名
    
  • 回退所有文件
    本地版本库和暂存区都回退,保留工作区(即暂存区和本地版本库内容一致):
    git reset 版本id 
    
    只回退本地版本库,保留工作区和暂存区(即暂存区和工作区内容一致):
    git reset --soft 版本id
    
    本地版本库和工作区都回退,暂存区内容清空:
    git reset --hard 版本id
    

3.远程仓库->本地版本库
从远程仓库下载到本地版本库:

git pull #simple方式
git pull origin master #matching方式

从别人远程仓库下载到本地版本库

git clone https://xxx.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。