IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git入门学习 -> 正文阅读

[开发工具]Git入门学习

一.Git安装及环境配置

下载Git https://git-scm.com/,全部默认配置即可
右键Git Bash Here 配置名字和邮箱

git config --global user.name "xx"
git config --global user.email "xx@qq.com"

用 git config --global --list查看
在这里插入图片描述

二.Git基本命令

在这里插入图片描述

示例

  • 在一个文件打开Git Bash,输入git init初始化仓库,在该文件会出现一个隐藏文件.git

在这里插入图片描述

  • 创建一个txt文件,使用git status查看状态,可以看到文件处于Untracked的状态(因为是新建的文件)
    在这里插入图片描述
  • 使用git add .将文件提交到暂存区,.代表所有文件,当然也可以指定文件名提交。可以看到文件的状态变成了No commits yet的状态

在这里插入图片描述
使用git commit -m "first commit"提交到本地仓库, - m “xxx”指的是本次提交添加的备注信息
在这里插入图片描述
以上就把文件提交到了本地仓库

可以通过git log查看提交日志
在这里插入图片描述
修改hello.txt文件,在文件添加hello
在这里插入图片描述
再一次查看状态
在这里插入图片描述
git add .提交到暂存区
在这里插入图片描述
git commit -m "second time"提交到本地仓库

git log查看日志,可以看到两次提交记录
在这里插入图片描述

版本回退

git reset --hard commitID ,commitID可以通过git log查看,我们回退到第一次提交的版本
在这里插入图片描述
可以看到hello已经没有了
在这里插入图片描述
但是版本回退以后又想回去怎么办?使用git reflog查看所有的日志,找到第二次提交的日志

在这里插入图片描述
使用git reset --hard 310dc1b即可回去
在这里插入图片描述
可以看到hello又存在了
在这里插入图片描述

三.分支

查看当前分支:git branch
在这里插入图片描述
创建新的分支:git branch name
在这里插入图片描述
切换分支:git checkout name
在这里插入图片描述
创建并切换分支:git checkout -b name

在新的分支上创建一个hi.txt,此时只有dev01分支有此文件
在这里插入图片描述
合并分支::git merge name,我们一般在master分支上合并其他分支
在这里插入图片描述
删除分支(删除分支时要切换到其他分支):
git branch -d name 删除分支时,需要做各种检查,比如修改的数据是否合并到了主分支
git branch -D name 不做任何检查,强制删除
在这里插入图片描述

分支冲突

主分支的hello文件
在这里插入图片描述
新建分支dev git branch dev

切换到dev分支 git checkout dev,并修改hello.txt
在这里插入图片描述
提交到本地仓库,此时master的hello.txt中依旧是hello master,但是dev分支中的hello.txt中为hello dev
在这里插入图片描述
切换回master,修改hello.txt
在这里插入图片描述
提交到本地仓库
在这里插入图片描述

此时master分支、dev分支都对hello.txt文件进行了修改

我们尝试合并,可以发现有冲突提示
在这里插入图片描述
查看hello.txt
在这里插入图片描述
需要我们手动解决冲突,选择我们想要的数据后,再提交到本地仓库即可

四.推送到Github远程仓库

首先设置Github的SSH Key
https://blog.csdn.net/u013778905/article/details/83501204

添加远程仓库:

git remote add <远端名称> <仓库路径>

远端名称,默认是origin,取决于远端服务器设置

仓库路径,从远端服务器获取此URL
在这里插入图片描述

在这里插入图片描述
查看远程仓库:git remote
在这里插入图片描述
推送到远程仓库:
git push [-f] [--set-upstream] 远端名称 本地分支名:远端分支名

如果远程分支名和本地分支名称相同,则可以只写本地分支
git push origin master

-f 表示强制覆盖
–set-upstream 推送到远端的同时并且建立起和远端分支的关联关系

git push --set-upstream origin master
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
git push 将master分支推送到已关联的远端分支

克隆:git clone <仓库路径> [本地目录]
在这里插入图片描述
抓取:git fetch [remote name] [branch name]
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
如果不指定远端名称和分支名,则抓取所有分支

拉取 :git pull [remote name] [branch name]
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支

分支冲突
在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:38:59  更:2021-12-04 13:39:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:55:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码