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
相关推荐
修己xj4 小时前
Gogs: 打造属于你自己的轻量级 Git 服务
git
Mediary6 小时前
Git本地忽略文件夹,只拉取目标文件夹
git
MY_TEUCK10 小时前
【git工具篇】Git 常用实战手册:从基础命令到分支冲突解决(开发实战版)
大数据·git
幸运的大号暖贴11 小时前
解决Vibe Coding时Idea经常不自动git add问题
java·人工智能·git·intellij-idea·claudecode·opencode
摇滚侠12 小时前
如何打开 GitHub,GitHub 是基于 Git 版本控制系统的在线代码托管平台
git·github
MY_TEUCK13 小时前
【Git 实习生小白专用】:最安全、永不翻车、公司最爱 的标准版本控制工作流程
git·安全·github
donecoding14 小时前
第一次用 git worktree,连踩了三个坑(附无痛清理姿势)
git
spmcor14 小时前
解决 Git 中已跟踪目录无法被 .gitignore 忽略的问题
git
qcx2316 小时前
【AI Engineering · Harness 系列】02 确定性外壳 × 非确定性内核——git push 红线的故事
人工智能·git·prompt·agent·engineering·harness
水云桐程序员16 小时前
10 分钟 Git 上手教程
git