git入门及常用命令总结

目录

  • 前言
  • 一、git
    • 1. 简介
    • 2. 作用
    • 3. 为什么使用git
    • 4. git的三个区域
  • 二. 常见终端窗口
    • 1. 常见终端窗口
    • 2. 常用命令
    • 3. 相关技巧
  • 三、git 入门及常用命令
    • 1. 首次配置
    • 2. 本地常用命令
    • 3. 配合远程仓库常用命令
  • 四、远程仓库
    • 1. 注册码云
    • 2. 配置SSH秘钥
    • 3. 创建远程仓库
    • 4. 首次向远程推送代码
  • 五、 忽略文件和空文件夹
    • 1. 忽略文件
    • 2. 空文件
  • 总结


前言

作为一名专业的前端攻城狮,拥有可以解决需求的技术以外,对于代码的管理也是不可忽视的一点。多多少少写代码过程中,都无法避免不出现bug,遇到这种情况我们都想回到之前的哪一步,重新来过。如果每修改一点代码,都往本地保存一个备份的话,特别的消耗时间,也让程序猿没有办法专注于写代码。这时候就急需一个帮助来帮助我们管理代码的工具,那就跟着本文一起来学习一下git吧~


一、git

官网:git

1. 简介

Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。

2. 作用

  • 备份文件的变化,以便将来查阅或者 回到历史版本,使用历史版本的代码。
  • 完成多人合作,轻松合并代码

3. 为什么使用git

工作场景一:项目的需求不断的变化,改来改去,也可能需要改回原来的代码。

  • 使用版本管理软件
    • 可以对代码每次的改动做记录,记录一次,叫做形成一个版本。
    • 可以轻松的将代码回退到任意一个版本。(可以使用之前版本中的代码、文件)
    • 电脑关机了,版本也不会丢失。

工作场景二:多个合作开发,代码不好合并。

  • 使用版本管理软件 + 远程仓库,可以解决多人合作的问题。

4. git的三个区域

  • 工作区——代码所在的就是工作区
  • 暂存区——git add . ——就相当于放到了暂存区
  • 仓库——git commit -m ‘备注’ ——相当于存到了仓库

二. 常见终端窗口

温馨提示:熟悉这块内容的小伙伴儿可以直接跳到第三部分

1. 常见终端窗口

  • cmd
    有两种打开方式(如下):
    win + r,输入cmd,回车即可打开
    git入门及常用命令总结_第1张图片
    在文件夹地址栏清空后,输入cmd后回车
    git入门及常用命令总结_第2张图片

  • powershell
    在任何文件夹空白处,按住 shift ,鼠标右键,选择在此处打开powershell窗口

  • git
    在任何文件夹空白处,鼠标右键,选择"Git Bash Here"即可打开窗口
    git入门及常用命令总结_第3张图片

2. 常用命令

  • 新建文件
    mkdir 文件名
  • 删除文件
    rmdir 文件名
  • 切换盘符
    cd D :(powershell 和 git带的终端窗口支持)
  • 切换路径
    cd 路径: (三个终端窗口都支持)——change directory
    cd . :保持路径不变
    cd .. :切换到上层目录
    cd / :切换到根目录
  • 清屏
    cls:(cmd窗口可用)
    clear:(powershell 和 git可用)

3. 相关技巧

  • 按tab键,可以自动补全
  • 按↑或者↓键,可以找到曾经执行过的命令

三、git 入门及常用命令

1. 首次配置

首次使用git,需要进行一个一次性的配置。就是设置一个用户名和邮箱。最好使用你的github账号或码云账号不更换电脑,就不需要重新配置。

  • 操作:
    任何文件夹,空白处,右键 --> Git Bash Here
    依次执行下面两行命令
git config --global user.name "xxx"
git config --global user.email "xxx"

配置完后,可以检验一下是否成功

# 查看所有的全局配置项
git config --list --global

# 查看单个的配置项,比如查看用户名
git config user.name

2. 本地常用命令

通过上面的配置以后,就可以使用 git 来管理我们的代码了。
找一个文件的根目录,点击右键,选择Git Bash Here,打开git的终端窗口。

  • 初始化必做
    git init-------------->初始化git。当代码需要用git来管理的时候,在根目录下打开终端,使用该命令进行初始化。
  • 提交至本地仓库
    git add .-------------->把本地所有代码保存到暂存区
    git commit -m '提交说明'-------------->把暂存区的文件提交到本地仓库
  • 查看提交记录
    git log-------------->打印提交过的记录
    git log --oneline-------------->一行显示提交过的记录
    git log --oneline --reflog-------------->如果当前处于最新提交记录之前的某一个历史版本中,可以使用这个命令,查看当前分支所有的提交记录
  • 回退历史版本
    git reset --hard 版本号-------------->回退至指定历史版本
    git入门及常用命令总结_第4张图片
  • 撤销提交
    git checkout .-------------->把暂存区所有文件撤销至工作区
    git checkout 文件名-------------->将某个文件从暂存区撤销至工作区
  • 本地仓库撤销至工作区
# 本地仓库撤销至暂存区
git reset .

# 暂存区撤销至工作区
git checkout .

3. 配合远程仓库常用命令

:这里以gitee码云仓库为例

  • 从远程拉取代码
    git pull-------------->拉取远程仓库代码
    git fetch --all-------------->强制拉取远程仓库代码至本地

  • 向远程推送代码
    git push-------------->已经向远程推送过代码使用
    首次推送,可以观看第四部分

  • 分支操作
    git checkout 分支名-------------->切换分支
    git checkout -b 分支名-------------->创建并切换分支
    git merge 分支名-------------->将指定分支合并到当前分支
    git status-------------->查看当前分支状态

四、远程仓库

1. 注册码云

官网:码云
:上面配置过了git的邮箱和用户名,在码云上尽量保持一致。尽量使用邮箱注册账号,如果使用手机号注册,记得登录后绑定邮箱。

2. 配置SSH秘钥

我们向码云推送代码的时候,最好使用SSH的方案,这个方案需要提前配置好秘钥。

下面是具体的配置方法:
任何文件夹位置,空白处右键,选择右键菜单中的 “Git Bash Here”,执行下面的命令,可以生成SSH秘钥(包含一个公钥一个私钥)

ssh-keygen -t rsa -C "你的邮箱地址"
# 执行完这个命令之后,后面有一些询问,我们直接一路回车即可

最后生成的秘钥在:

Windows:
C:\Users\用户名\.ssh

mac:
你的用户名那个文件夹中。 按shift+Commend+.  可以显示隐藏文件,然后就可以看到 .ssh文件夹了

找到 .ssh/id_rsa.pub,用vscode打开,复制里面全部的内容,配置到远程仓库,做法如下:

  • 登录成功后鼠标悬停至头像处,点击设置
  • 找到SSH公钥进行配置即可

3. 创建远程仓库

  • 右上角的 “+” ,选择新建仓库
  • 填写仓库名,选择公开
  • 点击创建按钮,创建。

4. 首次向远程推送代码

  • 进入本地项目文件夹,右键 --> Git Bash Here,打开终端窗口。
  • 远程仓库地址有两个(https、ssh地址),一定要选择ssh地址。
  • 添加远程仓库地址(git remote add 远程仓库地址别名 完整的远程仓库SSH地址
  • 首次推送代码到远程仓库(git push -u origin master

示意图如下:
git入门及常用命令总结_第5张图片

五、 忽略文件和空文件夹

1. 忽略文件

根目录下新建.gitignore文件
将需要忽略的文件名写在新建的文件中即可

代码示例:

.DS_Store
node_modules
/dist

2. 空文件

  • 场景:新建了空文件夹,还没有准备好文件内容,但是需要向远程仓库提交修改。如果空文件内没有内容,没有办法向远程仓库推送。
  • 解决方案:在需要推送的空文件下新建.gitkeep文件即可

等文件夹中新建了文件以后,.gitkeep文件就可以删除了


总结

本文就讲解至这里,关于远程仓库合并问题以及解决方案,有机会给大家总结一下~觉得有用的话,记得点赞收藏哦~

你可能感兴趣的:(git,git)