[java][git]git学习

news/2024/9/29 13:58:01/

Git

什么是Git?

  • Git是一款源代码管理工具(版本控制工具)
    • 我们写的代码需要使用Git进行管理。
  • 源代码有必要管理起吗?
  • 1.0
  • 2.0 //
  • svn,vss,vcs… git
  • 有必要,因为人工的去处理不同的版本,做相应备份会很麻烦。
  • Git是linux之父当年为了维护linux—linus之前也是手动维护合并把文件发给Linus
  • linus自己写了一个版本管理的工具(Git)

Git安装

初始化Git仓储/(仓库)

  • 这个仓库会存放,git对我们项目代码进行备份的文件
  • 在项目目录右键打开 git bash
  • 命令: git init

自报家门

  • 就是在git中设置当前使用的用户是谁
  • 每一次备份都会把当前备份者的信息存储起来
  • 命令:
    • 配置用户名:git config --global user.name "xiaoming"
    • 配置邮箱: git config --global user.email "xm@sina.com"

把大象放到冰箱要几步

  1. 打开冰箱门
  2. 放大象
  3. 关上冰箱

git_35">把代码存储到.git仓储中

  • 1.把代码放到仓储的门口
    • git add ./readme.md 所指定的文件放到大门口
    • git add ./ 把所有的修改的文件添加到大门口
  • 2.把仓储门口的代码放到里面的房间中去
    • git commit -m "这是对这次添加的东西的说明"

可以一次性把我们修改的代码放到房间里(版本库)

  • git commit --all -m "一些说明"
    • –all 表示是把所有修改的文件提交到版本库

查看当前的状态

  • 可以用来查看当前代码有没有被放到仓储中去
  • 命令: git status

git_50">git中的忽略文件

  • .gitignore,在这个文件中可以设置要被忽略的文件或者目录。
  • 被忽略的文件不会被提交仓储里去.
  • 在.gitignore中可以书写要被忽略的文件的路径,以/开头,
    一行写一个路径,这些路径所对应的文件都会被忽略,
    不会被提交到仓储中
    • 写法
      • /.idea 会忽略.idea文件
      • /js 会忽略js目录里的所有文件
      • /js/*.js 会忽略js目录下所有js文件

查看日志

  • git log 查看历史提交的日志
  • git log --oneline 可以看到简洁版的日志

回退到指定的版本

  • git reset --hard Head~0

    • 表示回退到上一次代码提交时的状态
  • git reset --hard Head~1

    • 表示回退到上上次代码提交时的状态
  • git reset --hard [版本号]

    • 可以通过版本号精确的回退到某一次提交时的状态
  • git reflog

    • 可以看到每一次切换版本的记录:可以看到所有提交的版本号

分支

  • 默认是有一个主分支master

创建分支

  • git branch dev
    • 创建了一个dev分支
    • 在刚创建时dev分支里的东西和master分支里的东西是一样的

切换分支

  • git checkout dev
    • 切换到指定的分支,这里的切换到名为dev的分支
      git branch 可以查看当前有哪些分支

合并分支

  • git merge dev
    • 合并分支内容,把当前分支与指定的分支(dev),进行合并
    • 当前分支指的是git branch命令输出的前面有*号的分支
  • 合并时如果有冲突,需要手动去处理,处理后还需要再提交一次.

GitHub

  • https://github.com
  • 不是git,只是一个网站
  • 只不过这个网站提供了允许别通过git上传代码的功能

githubgit_102">提交代码到github(当作git服务器来用)

  • git push [地址] master
  • 示例: git push https://github.com/huoqishi/test112.git master master
  • 会把当前分支的内容上传到远程的master分支上
  • git pull [地址] master
  • 示例: git pull https://github.com/huoqishi/test112.git master
  • 会把远程分支的数据得到:(注意本地-要初始一个仓储!)
  • git clone [地址]
  • 会得到远程仓储相同的数据,如果多次执行会覆盖本地内容。

http://www.ppmy.cn/news/1531943.html

相关文章

浅谈C++之线程管理

一、基本介绍 C11 提供了强大的多线程支持,涵盖了线程的创建、同步、共享数据管理等,极大简化了多线程编程的复杂性。 线程:一个程序执行流的最小单位。每个线程都有自己的程序计数器、栈、寄存器等。多线程:程序可以同时执行多个…

JIT(Just-In-Time)

JIT(Just-In-Time)即时编译是一种在程序运行时动态编译字节码为机器码的技术,常用于提高代码执行效率。它结合了解释型语言的灵活性与编译型语言的高效性。 JIT 的工作原理 字节码执行:JIT 编译器首先会以字节码的形式执行代码&…

BERT训练环节(代码实现)

1.代码实现 #导包 import torch from torch import nn import dltools #加载数据需要用到的声明变量 batch_size, max_len 1, 64 #获取训练数据迭代器、词汇表 train_iter, vocab dltools.load_data_wiki(batch_size, max_len) #其余都是二维数组 #tokens, segments, vali…

WPF DataGridTextColumn 时间列格式设置

WPF DataGridTextColumn 时间列格式设置 可以使用 Binding.StringFormat 来进行设置&#xff1a; <DataGridTextColumn Header"记录时间" Binding"{Binding ErrTime,StringFormatyyyy年MM月dd日 HH:mm:ss}"></DataGridTextColumn>

CentOS 替换 yum源 经验分享

视频教程在bilibili:CentOS 替换 yum源 经验分享_哔哩哔哩_bilibili问题原因 解决方法 1. 进入镜像目录 [rootlocalhost ~]# cd /etc/yum.repos.d/ 2.备份文件 [rootlocalhost yum.repos.d]# rename repo bak * 3.寻找阿里镜像源复制 https://developer.aliyun.com/mirror/ …

【数据结构】剖析二叉树(Binary Tree)

目录 &#x1f4af;引言 &#x1f4af;二叉树的定义与基本概念 &#xff08;一&#xff09;定义 &#xff08;二&#xff09;节点结构 &#xff08;三&#xff09;二叉树的形态 &#x1f4af;二叉树的遍历 &#xff08;一&#xff09;前序遍历&#xff08;Preorder Trav…

ThinkPHP一对多的关联模型运用

一、序言 最近在写ThinkPHP关联模型的时候一些用法总忘&#xff0c;我就想通过写博客的方式复习和整理下一些用法。 具体版本&#xff1a; topthink/framework&#xff1a;6.1.4topthink/think-orm&#xff1a;2.0.61 二、实例应用 1、一对多的关联 本文案例&#xff1a;一个用…

开创远程就可以监测宠物健康新篇章

在宠物健康监测的新纪元&#xff0c;智能听诊器凭借其先进技术&#xff0c;正逐步改变我们对宠物健康监护的传统认知。这不仅是一款监测工具&#xff0c;而是宠物健康管理的得力助手&#xff0c;为宠物主人和兽医提供前所未有的洞察力和便捷性。 深度学习算法&#xff1a;智能…