Git学习笔记(一) 常用命令

简介: Git学习笔记(一) 常用命令

前言


这篇文章我们学习一些 Git 的常用命令


目录


  • 新建仓库
  • git init
  • git clone
  • 基本操作
  • git add
  • git rm
  • git mv
  • git commit
  • 分支操作
  • git branch
  • git checkout
  • git merge
  • 远程操作
  • git remote
  • git push
  • git pull
  • 信息查看
  • git status
  • git log
  • git show
  • git reflog
  • git diff
  • 撤销操作
  • git reset
  • 删除操作
  • git clean
  • 修改配置
  • git config


正文


1、新建仓库


  • 初始化:git init
> # 初始化本地仓库
> git init


  • 克隆:git clone
> # 克隆远程仓库
> git clone <远程仓库地址>
> # 克隆远程仓库,并指定本地仓库名
> git clone <远程仓库地址> <本地仓库名称>


2、基本操作


  • 添加:git add
> # 将工作区中的指定文件添加到暂存区,文件必须是未追踪的或已修改的
> git add <文件名称>
> # 将工作区中的所有文件添加到暂存区,包括新增的、修改的、删除的文件
> git add -A
> git add --all
> # 将工作区中的所有文件添加到暂存区,但不包括新增的文件
> git add -u
> git add --update
> # 将工作区中当前目录下的所有文件添加到暂存区
> # 在 2.x 版本中,包括新增的、修改的、删除的文件
> # 在 1.x 版本中,不包括删除的文件
> git add .


  • 删除:git rm
> # 停止追踪文件,并在硬盘上删除此文件
> git rm <文件名称>
> # 停止追踪文件,并在硬盘上删除此文件,若文件在暂存区中,则从暂存区中移出
> git rm --force <文件名称>
> # 停止追踪文件,但将该文件保留在硬盘,若文件在暂存区中,则从暂存区中移出
> git rm --cached <文件名称>


  • 移动:git mv
> # 可以用于重命名,并把修改放入暂存区
> git mv <旧文件名> <新文件名>


  • 提交:git commit
> # 将暂存区中的文件提交,然后打开默认编辑器写提交信息
> git commit
> # 将暂存区中的文件提交,直接带上提交信息
> git commit -m <提交信息>
> # 将工作区中修改和删除的文件放入暂存区,然后将暂存区中的文件提交
> git commit -a
> # 使用一次新的提交,覆盖上一次的提交
> git commit --amend


3、分支操作


  • 分支:git branch
> # 查看本地分支
> git branch
> # 查看本地分支,并且显示最近一次的提交信息
> git branch -v
> git branch --verbose
> # 查看远程分支
> git branch -r
> git branch --remote
> # 查看所有分支
> git branch -a
> git branch --all
> # 查看本地分支与远程分支的对应关系
> git branch -vv
> # 基于当前分支,创建新的分支
> git branch <新分支名>
> # 基于当前分支,创建新的分支,并关联远程指定分支
> git branch --set-upstream <新分支名> <远程仓库名称>/<远程分支名称>
> # 删除分支
> git branch -d <分支名>
> git branch --delete <分支名>
> # 强制删除分支
> git branch -D <分支名>
> git branch --delete --force <分支名>
> # 将当前分支关联远程指定分支
> git branch -u <远程仓库名称>/<远程分支名称>
> # 将指定分支关联远程指定分支
> git branch -u <远程仓库名称>/<远程分支名称> <本地分支名称>


  • 检出:git checkout
> # 切换到已有分支
> git checkout <分支名称>
> # 基于当前分支,创建新的分支,并切换到该分支
> git checkout -b <新分支名>
> # 基于本地指定分支,创建新的分支,并切换到该分支
> git checkout -b <新分支名> <本地分支>
> # 基于远程指定分支,创建新的分支,并切换到该分支
> git checkout -b <新分支名> origin/<远程分支>
> # 特别:用于撤销工作区指定文件的修改
> # 如果文件在修改后没有放到暂存区,那么就回到版本库(上一次 git commit)的版本
> # 如果文件在暂存区,然后又作修改,那么就回到暂存区(上一次 git add)的版本
> git checkout <文件名称>
> git checkout -- <文件名称>


  • 合并:git merge
> # 将指定分支合并到当前分支,尽量将合并解析为快进合并(若指定分支头是当前分支头的祖先,称为快进合并)
> # 如果是快进合并,则将当前分支头指向指定分支头,不会产生合并提交
> # 若不是快进合并,并且没有冲突,就会产生一个合并提交
> git merge <分支名称>
> # 将指定分支合并到当前分支,即使可以解析为快进合并,也会产生一个合并提交
> git merge --no-ff <分支名称>
> # 将指定分支合并到当前分支,如果不能解析为快进合并,就会拒绝合并然后退出
> git merge --ff-only <分支名称>
> # 如果合并发生冲突,要么中止合并,回到没有合并前的状态
> git merge --abort
> # 要么手动解决冲突,之后重新提交一个合并提交
> git add --all
> git commit> # 将指定分支合并到当前分支,尽量将合并


4、远程操作


  • 远程仓库:git remote
> # 显示所有远程仓库
> git remote
> # 显示指定远程仓库的详细信息
> git remote show <远程仓库名称>
> # 添加一个新的远程仓库
> git remote add <远程仓库名称> <远程仓库地址>
> # 修改远程仓库地址
> git remote set-url <远程仓库名称> <远程仓库地址>
> # 删除远程仓库
> git remote rm <远程仓库名称>
> # 重命名远程仓库
> git remote rename <旧仓库名> <新仓库名>


  • 推送:git push
> # 将当前分支推送到远程仓库的关联分支
> git push
> # 将所有分支推送到远程仓库的关联分支
> git push --all
> # 不管是否发生冲突,将当前分支强制推送到远程仓库的关联分支
> git push -f
> git push --force
> # 将当前分支推送到指定远程仓库的指定分支
> git push <远程仓库名称> <远程分支名称>
> # 将当前分支推送到指定远程仓库的指定分支,同时将当前分支关联到远程分支
> git push -u <远程仓库名称> <远程分支名称>
> git push --set-upstream <远程仓库名称> <远程分支名称>
> # 删除指定远程仓库的指定分支
> git push <远程仓库名称> -d <远程分支名称>
> git push <远程仓库名称> --delete <远程分支名称>


  • 拉取:git pull
> # 拉取当前分支的关联分支,并合并到当前分支
> git pull
> # 拉取指定远程仓库的指定分支,并合并到当前分支
> git pull <远程仓库> <远程分支>


5、信息查看


  • 查看当前状态:git status
> # 查看发生变更的文件
> git status


  • 查看提交记录:git log
> # 查看当前分支所有的提交记录
> git log
> # 查看当前分支最近两次的提交记录
> git log -2
> # 只用一行表示一次提交
> git log --oneline
> # 显示每次提交发生变化的文件
> git log --stat
> # 以图的形式显示提交记录,能看到分支合并的信息
> git log --graph --oneline
> # 只会显示提交信息中带有指定字符串的提交记录
> git log --grep <字符串>
> # 只会显示变更文件中包含指定文件的提交记录
> git log --follow <文件名称>


  • 查看提交信息:git show
> # 显示最近一次提交的元数据和更改的内容
> git show
> # 显示最近一次提交的元数据和发生变化的文件
> git show --name-only
> # 显示指定提交的元数据和更改的内容
> git show <commit id>
> # 显示指定提交中的指定文件的更改内容
> git show <commit id>:<文件名称>


  • 查看命令记录:git reflog
> # 查看命令记录,包括被删除的
> git reflog


  • 查看差异:git diff
> # 查看暂存区与工作区的差异
> git diff
> # 查看暂存区与版本库的差异
> git diff --cached
> # 查看工作区与版本库的差异
> git diff HEAD
> # 对于指定文件,查看暂存区与工作区的差异
> git diff <文件名称>
> # 对于指定文件,查看暂存区与版本库的差异
> git diff --cached <文件名称>
> # 对于指定文件,查看工作区与版本库的差异
> git diff HEAD <文件名称>


6、撤销操作


  • 回退:git reset
> # 将 HEAD 指针指向指定版本,暂存区重置,工作区不变
> git reset <commit id>
> # 将 HEAD 指针指向指定版本,暂存区不变,工作区不变
> git reset --soft <commit id>
> # 将 HEAD 指针指向指定版本,暂存区重置,工作区重置
> git reset --hard <commit id>
> # 回退到前一个版本
> git reset HEAD^
> git reset HEAD~1
> # 回退到前三个版本
> git reset HEAD~3
> # 特别:将指定文件从暂存区中移出,保留工作区的状态
> git reset HEAD <文件名称>


7、删除操作


  • 删除:git clean
> # 删除未追踪的文件,不包括已忽略的
> git clean -f
> # 删除未追踪的文件,只包括已忽略的
> git clean -f -X
> # 删除未追踪的文件,包括已忽略的和未忽略的
> git clean -f -x
> # 删除未追踪的文件和目录,不包括已忽略的
> git clean -f -d
> # 删除未追踪的文件和目录,只包括已忽略的
> git clean -f -X -d
> # 删除未追踪的文件和目录,包括已忽略的未忽略的
> git clean -f -x -d
> # 只查看要删除的内容,并不实际删除
> git clean -n


8、修改配置


  • 配置:git config
> # 列出所有配置
> git config --list
> # 列出本地配置(对于当前目录适用)
> git config --list --local
> # 列出全局配置(对于当前用户适用)
> git config --list --global
> # 列出系统配置(对于所有用户适用)
> git config --list --system
> # 配置个人信息
> git config user.name "user name"
> git config user.email "user email"
> # 配置源
> git config get registry
> git config set registry https://registry.npmjs.org # 官方源
> git config set registry https://registry.npm.taobao.org # 淘宝源
> # 配置代理
> git config http.proxy "proxy address"
> git config https.proxy "proxy address"
> # 取消代理
> git config --unset http.proxy
> git config --unset https.proxy


【 若希望了解更全面、更详细的命令用法,请看 官方文档


文章知识点与官方知识档案匹配,可进一步学习相关知识

目录
相关文章
|
26天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
1月前
|
Linux 网络安全 开发工具
Git学习笔记(一):基础与应用
本文档详细介绍了如何将本地项目关联到Gitee上的空仓库并上传代码,以及如何验证本机与Git服务器的SSH连接。同时,还概述了Git的基本概念、安装步骤、初始配置、常见命令及如何配置多个SSH-Key,适用于初学者快速上手Git操作。
108 51
Git学习笔记(一):基础与应用
|
18天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
26 3
|
1月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
50 1
[Git]入门及其常用命令
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
141 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
开发工具 git 开发者
|
1月前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
62 0
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
3月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
3月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】