git 的使用,及其基本指令。

这篇具有很好参考价值的文章主要介绍了git 的使用,及其基本指令。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

git 的使用,及其基本指令。


(1) 初始化本地仓库:
  • git init
(2) 配置用户名和密码:
  • git config user.name “zzq”
  • git config user.email “123@qq.com”
(3) 配置全局的用户名和密码:
  • git config --global user.name “zzq”

  • git config --glabal user.email “123@qq.com”

  • global 表示在当前机器中所有的git仓库中都生效

(4) 删除配置
  • git config --unset user.name
  • git config --unset user.email
(5) 删除全局配置
  • git config --global --unset user.name
  • git config --global --unset user.email
(6) 列出当前本地仓库中的所有配置项
  • git config -l

修改:创建,删除,修改。

git 追踪管理的其实是修改,而不是文件。

(7)三板斧(add, commit, push)
  • git add . ——从本地工作区添加到暂存区
  • git status ——查看提交状态
  • git commit -m “提交日志信息” ——从暂存区添加到版本库
  • git push ——从版本库添加到远程仓库
(8)查看日志
  • git log ——查看所有日志

  • git log --pretty=oneline ——日志按一行打印

  • git cat-file -p [commitID] ——打印commitID对应的文件

(9)查看目前暂存区和工作区文件的差异
  • git diff [filename]
  • git diff HEAD --[filename] ——查看版本库和工作区文件的区别

(10)版本回退
  • git reset [–soft | --mixed | --hard] [HEAD]
  • 本质回退的是版本库中的内容,还可以回退到当前版本。
  • –soft 只回退版本库的内容
  • –mixed (默认) 回退版本库和暂存区的内容
  • –hard(慎用) 版本库,暂存区,工作区全部回退
工作区 暂存区 版本库 选项 描述
git world git world git world
git world git world git –soft 只回退版本库
git world git git –mixed(默认) 回退版本库和暂存区
git git git –hard(慎用) 全部回退
  • git reflog (后悔药)——查看所有的提交记录
(11)撤销
工作区 暂存区 版本库 描述 如何撤销
xxx code 只在工作区写,没有add 和commit git checkout --[filename]
xxx code xxx code add, 但没有commit git reset
xxx code xxx code xxx code add + commit 1. 大前提条件, 都没有push到远程仓库2.git reset
  • git checkout – [filename]

  • git reset --mixed HEAD [filename] ——回退到当前版本

  • git reset --mixed HEAD**^** [filename] ——回退到上一个版本


(12)删除文件
  • git rm [filename] ——删除工作区和暂存区的文件

  • git commit -m “xxxx”

(13)分支管理
  • git branch ——查看所有分支

  • git branch dev —— 创建dev分支

  • git checkout dev ——切换到dev分支

  • git merge dev ——将dev分支合并到当前分支

  • git branch -d dev ——删除dev分支

  • git branch -D dev ——强制删除dev分支

  • git checkout -b dev1 —— 创建并切换到dev1分支

(14)合并冲突
  • 合并冲突需要手动解决,并且要进行一次add和commit。

    <<<<<<<HEAD
    ....// 这之间的是当前分支的内容
    =======
    ....// 这之间的是dev分支的内容
    >>>>>>>dev
    
  • git log --graph --abbrev-commit ——以图示打印

  • git merge --no-ff -m “这是最新一次提交的日志” dev ——(–no-ff)表示不使用fastforword,让合并时产生一次新的提交记录

    fast forword看不出来最新的提交到底是merge进来的还是正常提交的

    no-ff 表示不使用fast forword

  • git merge --no-ff -m “让ff变成no-ff” dev ——在合并分支时,手动将fast forword变成no-ff

(15)Bug分支
  • git stash ——将本分支新增的内容暂存,并使还原到上次commit 的地方。前提是:本分支新增的内容还未commit提交。

  • git stash list —— 查看暂存的内容

  • git stash pop —— 回复暂存的内容


(16)远程操作
  • git 是分布式版本控制系统

  • git remote -v ——查看有哪些权限,比如fetch拉取权限和push推送权限

    origin 远程仓库默认的名字

(16)使用SSH协议克隆到本地仓库
  • 创建SSH key。在主目录下看看是否有.SSH目录,如果有再看看这个目录下有没有id_rsa(私钥),id_rsa.pub(公钥)这两个文件,如果有了直接跳到下一步,没有则需要创建SSH key:
  • ssh-keygen -t rsa -C “1234@qq.com”。 再一路回车使用默认值即可
(17)push(推送) 和 pull(拉取)
  • git push origin master:master —— origin表示远程,第一个master表示本地分支的master,第二个表示远程的master。
  • git pull origin masert:master —— origin 表示远程,第一个master表示远程分支的master, 第二个表示本地的master.
  • pull 指令表示将远程从库的内容拉取到本地,并与本地分支合并。pull : 拉取+合并。

(18)配置git, .gitignore文件
  • .gitignore 文件里面写要忽略的文件名。

  • *.so, *.init 表示再add时,忽略以.so和.init 为后缀的文件。

  • git add -f test.so ——强制添加test.so 文件

  • 不建议强制添加。应该在文件里添加 !test.so即可,表示不忽略test.so 这个文件。

  • git check-ignore -v d.so —— 查看为什么d.so文件会被忽略。

  • git config --global alias.st ‘status’ —— 给 status 取别名为st

  • git log --pretty=oneline --abbrev-commit —— (–pretty=oneline)表示打印一行,(–abbrev-commit)表示打印出短的commitID。


(19)标签
  • 标签是对commit ID 做别名。

  • git tag [tag_name] —— 在当前分支上给最新一次commit打标签。

  • git tag [标签名] [commit ID] —— 给指定commit ID 打标签。

  • git tag -a v1.0 -m “描述信息” —— 给标签加描述信息。

  • git show [标签名] —— 查看标签的描述信息。

  • git tag ——显示所有标签。

  • git tag -d [标签名] —— 删除标签

(20)推送标签
  • git push origin v1.0 —— 将本地的v1.0 标签推送至远端。
  • git push origin --tags —— 推送本地所有标签。
  • git push origin:v1.0 —— 先在本地删除v1.0 标签,在执行该指令,使远端也删除该标签。

(21)多人协作开发
  • git branch ——查看本地分支

  • git branch -r(remote) —— 查看远程分支

  • git branch -a(all) —— 查看本地和远程的所有分支

  • git checkout -b dev origin/dev —— 建立本地dev分支,并和远程dev分支建立连接。

  • git branch -vv —— 查看本地和远程分支建立的连接。

  • 建立连接的目的是为了能够使用简短的指令。

  • git push origin:master --> git push

  • git branch --set-upstream-to=origin/dev dev —— 将远程的dev分支和本地的dev分支建立连接。

  • git push origin “分支名” —— 远程没有该分支,本地创建并推送。文章来源地址https://www.toymoban.com/news/detail-848291.html

(22)git pull
  • 拉取分支的内容
  • 拉取仓库的内容,如:本地没有的分支等。
  • git remote show origin —— 查看远程分支的情况。
  • 在远程删除了某些分支,但本地仍然可以看到,解决办法:
  • git remote prune origin —— 修剪在远端已经不存在的分支。
(23)合并分支
  • 如何将dev分支 合并到 master分支?(建议)
    1. 建议先在dev分支下,合并master。有冲突再解决。
    2. 再回到master分支,合并dev。

到了这里,关于git 的使用,及其基本指令。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能导论课堂笔记

    时间:2022年10月19日下午 班级:2022级人工智能应用技术1班 作业问题: Python安装注意事项 1.下载Python3.X的版本,如:3.10, 3.9, 3.8,不推荐下载2.7版本(已经不使用) 2.在命令行中,无法运行path-添加,需要知道安装的路径; Pycharm安装注意: 1.官网下载,推荐下载免费(社区

    2024年02月01日
    浏览(42)
  • mysql课堂笔记 mac

    目录 启动mac上的mysql 进入mysql mac windows 创建数据库 创建表 修改字段数据类型 修改字段名 增加字段 删除字段 启动mac上的mysql 直接输入你的开机密码即可。 编辑 进入mysql mac windows (root为你的用户名) 输入密码 创建数据库 创建表 示例: 没有加 ; 回车意味着这一句语句还没

    2024年02月09日
    浏览(35)
  • 03-JVM虚拟机-课堂笔记

    灵魂三问: JVM是什么? JVM广义上指的是一种规范。狭义上的是JDK中的JVM虚拟机。 为什么要学习JVM? 面试过程中,经常会被问到JVM。 研发过程中,肯定会面临一些重难点问题与JVM有关系。例如:线程死锁、内存溢出、项目性能优化等等。 基础不牢,地动山摇。想深入掌握

    2024年01月16日
    浏览(44)
  • 云计算与虚拟化技术【课堂笔记】

    鲲鹏产业学院 云计算与虚拟化技术 课堂笔记 目录 一、云计算系统及演进 云计算的定义 云计算的三个阶段 云计算的三种服务模式 云计算的四种部署模型 二、未完待续 总结          云计算的本质是一种服务提供模型 ,通过这种模型可以随时、随地、按需地通过网络访

    2024年02月01日
    浏览(48)
  • 大数据课堂笔记——lianxi数据库

    创建数据库 create database 库名; create database lianxi; 打开 use 库名; use lianxi; use table 表名; 创建表(主键:primary key ) create table 表名 (列名1 数据类型1,……); create table course (couid char(4), couname char(10), teachername char(3) ); 删除表 drop database 数据表名; 显示命令运行结果 show table

    2024年04月25日
    浏览(39)
  • JSP_5.16_课堂笔记

    完整 的可以与 数据库 连接的 登录界面 的代码 1、加载驱动(告诉JDBC程序,连接的是哪一个数据库) Class.forName (“驱动程序名”); MySQL : com.mysql.jdbc.Driver com.mysql.cj.jdbc.Driver Oracle : oracle.jdbc.driver.OracleDriver SQL Server : com.microsoft.jdbc.sqlserver.SQLServerDriver 2、获取和数据库之间的连

    2024年02月05日
    浏览(41)
  • 【云计算与大数据概述 】课堂笔记

    1.1 云计算基础 1.1.1 云计算简介 云计算的技术内容包括分布式计算技术,虚拟化技术,网络技术,服务器技术,数据中心技术,云计算平台技术,存储技术等 云计算的定义:一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他

    2024年02月06日
    浏览(47)
  • redis复习笔记06(小滴课堂)

    分布式锁核心知识介绍和注意事项 基于Redis实现分布式锁的几种坑 综合伪代码: 运行:

    2024年02月22日
    浏览(38)
  • alibaba学习笔记03(小滴课堂)

    自定义Ribbon负载均衡策略实战 启动3个视频服务和一个订单服务: 我们可以看到它是随机调用的。 也可以使用其他负载均衡策略。 讲解新一代负载均衡组件feign介绍 这种方式去写死接口肯定是不妥当的。 于是我们使用feign负载均衡组件: 改造微服务 集成Feign实现远程方法调

    2024年01月19日
    浏览(42)
  • JS课堂笔记(4.17-4.21)

    1.在程序中,一组被重复执行的语句被称为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称为循环语句。 2.循环执行的过程是①第一次循环:第一次赋值,然后条件判断,执行循环体,最后执行累计。 ②非第一次循环:条件

    2023年04月23日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包