Git 入门(一)

git 工作流如下:

命令如下:

  1. clone(克隆): 从远程仓库中克隆代码到本地仓库
  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订
  3. add(添加): 在提交前先将代码提交到暂存区
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge
  7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

下载与安装

下载地址: https://git-scm.com/download

基本配置

  1. 打开Git Bash
  2. 设置用户信息:

git config --global user.name "XXX"

git config --global user.email "XXX@XXX.XXX"

  1. 查看配置信息

git config --global user.name

git config --global user.email

解决GitBash乱码问题

打开GitBash执行命令

git config --global core.quotepath false

${git_home}/etc/bash.bashrc 文件最后加入下面两行:

export LANG="zh_CN.UTF-8"

export LC_ALL="zh_CN.UTF-8"

基础操作指令

  1. 查看修改状态(工作区、暂存区): git status
  2. 添加工作区到暂存区:git add 单个文件名 | 通配符
    将所有修改加入暂存区:git add .
  3. 提交暂存区到本地仓库: git commit -m '注释内容'
  4. 查看提交日志: git log [option]

options:

all 显示所有分支

--pretty=oneline 将提交信息显示为一行

--abbrev-commit 使得输出的commitId更简短

--graph 以图的形式显示
5. 版本回退: :git reset --hard commitID

commitID 可以使用git-log 或 git log指令查看

  1. 如何查看已经删除的记录?git reflog

分支

  1. 查看本地分支:git branch

  2. 创建本地分支: git branch 分支名

  3. 切换分支: git checkout 分支名

  4. 还可切换到一个不存在的分支(创建并切换): git checkout -b 分支名

  5. 合并分支(一个分支上的提交可以合并到另一个分支): git merge 分支名称

  6. 删除分支(不能删除当前分支,只能删除其他分支):

    git branch -d b1 删除分支时,需要做各种检查

    git branch -D b1 不做任何检查,强制删除

  7. 解决冲突

    当在两个分支上对文件进行修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,步骤如下:

    1. 处理文件中冲突的地方
    2. 将解决完冲突的文件加入暂存区(add)
    3. 提交到仓库(commit)

    冲突部分的内容处理如下所示:

配置SSH公钥

  • 生成SSH公钥: ssh-keygen -t rsa ,不断回车,如果公钥已经存在,则自动覆盖;
  • 获取公钥: cat ~/.ssh/id_rsa.pub
相关推荐
悠然大月季4 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming8025 小时前
在cursor下执行GIT回退版本
git
打点计时器9 小时前
Git快速上手教程
git
我才是一卓9 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
IDIOT___IDIOT11 小时前
关于 git 进行版本管理的时候 gitignore 写入忽略规则而不生效的问题
大数据·git·elasticsearch
不想看见40411 小时前
Git 误删急救手册
大数据·git·elasticsearch
偷懒下载原神11 小时前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
IT二叔11 小时前
Git Flow03-发布流程
git
IT二叔11 小时前
Git Flow08-摘樱桃
git
「QT(C++)开发工程师」13 小时前
Git误操作急救手册大纲
git