当前位置: 首页 > news >正文

git 常用指令 (先收藏再说)

Git

Git是一种分布式版本控制系统,用于记录一个或若干个文件内容的变化,以便查阅和回溯。
它的工作原理可以概括为以下几点:

  1. 工作区(Workspace):这是你在电脑上看到的目录,工作区是你用来修改文件的目录。在工作区中我们对文件进行增删改。

  2. 暂存区(Index/Stage):暂存区是位于Git仓库中的一个文件,用于暂时存放提交的更改。我们通过git add命令将修改的文件放入暂存区。

  3. 仓库区(Repository):如果你对暂存区的文件感到满意,可以提交这些修改到仓库区,这样你就成功地创建了一个新的版本。本地仓库是Git用来保存完整项目的整个历史记录的地方。它保存了项目的全部提交历史和版本信息。

  4. 远程仓库(Remote):你可以把本地仓库的内容推送到远程仓库,也可以从远程仓库拉取数据到本地。

Git的工作流程如下:

  1. git clone: 用于将远程仓库的代码克隆到本地。
git clone https://github.com/username/repo.git
  1. 修改文件:在工作区中对文件进行修改、添加或删除操作。

  2. git add:将修改的文件添加到暂存区,表示要提交这些更改。

git add .  //将当前目录下的所有修改过的文件添加到暂存区(包括新建、删除和修改)。
git add file.txt //提交指定文件
  1. git commit: 用于将暂存区的文件提交到本地仓库,生成一个新的版本。
git commit -m "Commit message" //提交更改并添加相应的提交信息
  1. git push: 用于将本地仓库的代码中的新版本推送到远程仓库。
git push origin master
  1. git pull: 用于从远程仓库拉取最新的代码到本地并合并
git pull origin master
  1. git branch: 创建、切换、合并和删除分支,实现并行开发和版本控制。
git branch  //查看当前分支
git branch dev  //创建分支
git branch -d dev //删除一个分支
git branch -r //用于列出远程的所有分支。
  1. git checkout: 用于切换分支或恢复文件
git checkout dev //切换到dev分支
git checkout -b dev //创建新分支并切换分支
git checkout file.txt //将工作区的指定文件的内容恢复到暂存区的状态
  1. git merge: 将不同分支中的代码合并到一起,解决冲突并生成新的提交,首先确保你已经切换到目标分支上,比如主分支或者其他想要接收更改的分支,运行 git merge dev合并dev分支到目标分支。Git会自动尝试合并两个分支的修改内容,但有时候会发生冲突,若发现了冲突,打开相关文件查看具体冲突部分,根据需求编辑文件,选择保留哪些变化或者对冲突进行调整。删除特定符号及其周围的注释,然后保存文件。最后提交合并结果,可以使用 git commit -m "合并" 命令来提交。
git merge dev
  1. git status: 用于查看工作区、暂存区的状态。

  2. git log:查看项目的提交历史,包括作者、时间和提交说明。

git log --graph 以图形化的方式展示提交历史和分支合并情况。
  1. git reset:撤销提交、回退版本,并恢复文件到之前的状态。
git log //首先查看提交记录并获取要回退的目标版本的commit ID(或者只需要最后几位字符)。
git reset <commit_id> //将HEAD指向目标版本,同时保留工作区文件不变。这样会删除所有新的提交记录,但保留修改内容。
git reset --hard <commit_id> //若想完全移除目标版本及其之后的提交记录,可以添加 --hard 参数,注意,此操作会永久性地删除该版本及其之后的更改,谨慎使用。
  1. git diff: 用于查看文件或分支之间的差异。
git diff file.txt
git diff branch1 branch2
  1. git stash : 用于保存当前的修改,并将工作区还原到上一个提交的状态。
git stash
git stash apply
  1. git remote: 用于管理远程仓库。
git remote -v
git remote add origin https://github.com/username/repo.git
git remote show // 用于查看远程仓库的详细信息。
  1. git fetch: 用于从远程仓库下载最新的代码,但不合并到当前分支。
git fetch origin

其他常用指令

git init 初始化本地git仓库(创建新仓库)。

git clone 用于克隆远程的项目到本地。

git rm : 用于将文件从工作区和暂存区中删除。

git rm file.txt
git rm -r foldername //递归地删除指定文件夹及其所有内容,包括文件和文件夹

git config --global user.name "xxx" :配置用户名

git config --global user.email "xxx@xxx.com" :配置邮件

git show dfb55efr4f2f7b573327763e5c0013802e392812 :显示某个提交的详细内容,可以只用commitid的前几位,例如 git show dfb55

git show HEAD //显示HEAD提交日志。
git show HEAD^ //显示HEAD的父(上一个版本)的提交日志,`^^`为上两个版本,`^5`为上5个版本。

git tag :显示已存在的tag。

git tag -a v2.0 -m 'xxx' :增加v2.0的tag。

git rebase : 用于将一个分支的提交合并到另一个分支上。

git rebase branch_name
http://www.lryc.cn/news/286234.html

相关文章:

  • 2024问题汇总
  • 爬虫(学习笔记)
  • 让业务满意的性能测试报告模板应该是怎样的?
  • 高防IP如何保护服务器
  • C++提高编程——STL:string容器、vector容器
  • three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图
  • Gradle 笔记
  • flume案例
  • 信用评价研究MATLAB仿真代码
  • 网络安全产品之认识防毒墙
  • android 防抖工具类,经纬度检查工具类
  • PgSQL - 17新特性 - 块级别增量备份
  • Vue3setup()的非语法糖和语法糖的用法
  • HTTP状态信息
  • CSS之边框样式
  • k8s-helm
  • 黑马程序员JavaWeb开发|Maven高级
  • 【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min
  • 探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧
  • SpringCloud Aliba-Seata【上】-从入门到学废【7】
  • C# Cad2016二次开发选择csv导入信息(七)
  • [陇剑杯 2021]日志分析
  • Java面试汇总——jvm篇
  • 数据结构:完全二叉树(递归实现)
  • RK3568 移植Ubuntu
  • C++大学教程(第九版)6.34猜数字游戏 6.35 修改的猜数字游戏
  • 【立创EDA-PCB设计基础】5.布线设计规则设置
  • ElementUI简介以及相关操作
  • 内存耗尽排查思路
  • OpenCV书签 #差值哈希算法的原理与相似图片搜索实验