Git分布式版本控制工具和GitHub(二)--Git指令入门

这篇具有很好参考价值的文章主要介绍了Git分布式版本控制工具和GitHub(二)--Git指令入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.指令入门前的准备

1.Git全局设置

Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

 2.获取Git仓库

Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

 Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

 Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

例如:将我GitHub上的first_resp仓库克隆到本地。
Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

 点击进入first_rep,后面本地仓库操作的学习就是在这个界面右键打开Git Bash
Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

3.工作区,暂存区,版本库概念

Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

 注:如果空仓库就没有index文件

4.Git工作区中文件的状态

Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

二.本地仓库操作相关的命令

Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github

//1.查看文件状态
git status

//2.查看日志,也可以写成git-log
git log

//3.将文件的修改加入暂存区
//格式:git add 单个文件名|通配符
git add User.java//将User.java文件添加到暂存区
git add *//添加所有文件到暂存区

//4.将缓存区的文件提交到版本库
git commit -m "init resp" User.java//-m后面带的注释内容

///5.将暂存区的文件取消暂存或切换到指定版本
git reset User.java//将暂存区的User.java取消暂存
git reset --hard 090950e68ecc099c5c021194d14b18d713880b75
//回溯回之前的版本,hard后面长长的那串是版本号,怎么知道呢?
//输入git log然后commit后面就是版本号

//6.查看已经删除的提交记录
git reflog

 注:
git status--查询状态
创建一个文件,未使用git add,则为未跟踪状态,说白了就是git没有去管理这个文件。
使用git add后就会变成已暂存状态。
使用git commit,就会变为未修改状态,然后修改文件后就会变为已修改状态
具体参照前面一种Git工作区中文件的状态

三.远程仓库操作相关的命令

//1.查看远程仓库,它会列出每一个远程服务器的简写。

//如果已经克隆了远程仓库,那么至少应该能看到origin,
//这是Git克隆的远程仓库服务器的简称(默认名字)
git remote
//输入下面这行命令就会显示详细信息,即服务器的http地址
git remote -v

//2.添加一个新的远程仓库,同时指定一个可以引用的简写
git remote add <shortname><url>

//3.克隆远程仓库到本地
//如果你想获得一份已经存在了的Git远程仓库的拷贝,这是就要用到git clone命令。
//Git克隆的是该Git仓库服务器上的几乎所有数据(包括日志信息,历史记录等)
//格式:git clone[url]
git clone https://github.com/Flying-pig-z/first_rep

//4.将本地仓库内容推送到远程仓库的指定分支中
//格式:git push [remote-name][branch-name]
//remote-name是什么:就是前面的origin(远程仓库的别名),branch-name:分支的名称
//只有提交到本地仓库,才能推送到远程仓库,顺序不能搞反[add->commit->push]
git push origin master
//推送到远程的主分支

//5.从远程仓库拉取并合并,多人协作时使用
//格式:git pull[short-name][branch-name]
git pull origin master
//还有git fetch,差别是这个指令没有合并

重中之重:注意顺序add->commit->push,只有push后才上传到远程仓库

注:
【1】在使用git push命令时候报错:
fatal: unable to access 'https://github.com/.......': OpenSSL SSL_read: Connection was reset, errno 10054
那么直接执行一次git config --global http.sslVerify "false"命令来取消ssl解决问题

【2】git push第一次要使用要身份验证,你会发现你用户名和密码输对了还是报错,
解决方案:
Git提交时报错Logon failed, use ctrl+c to cancel basic credential prompt.. - 简书

【3】注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories)
解决此问题可以在git pull命令后加入参数--allow-unrelated-histories

 

四.分支操作的命令

分支操作的概念

分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init属性创建本地仓库时默认会创建一个master分支。

下面介绍分支的相关命令

//1.查看分支
git branch//列出所有本地分支
git branch -r//列出所有远程分支
git branch -a//列出所有本地分支和远程分支

//2.创建分支
//格式:git branch[name]
git branch newBranch

//3.切换分支
//格式:git checkout [name]
git checkout newBranch

//4.推送至远程仓库分支
//格式:git push[shortName][name]
//shortName就是远程仓库的别名,也就是origin
git push origin newBranch

//5.分支合并,把不同分支的文件合并到一起
//格式:git merge[name]
git merge b3
//将b3分支合并到现在所在的分支
//使用这个命令会进入日志编辑模式,按i编辑,按esc退出

//6.删除分支
git branch -d newBranch//删除分支时,需要做各种检查
git branch -D b1//不做任何检查,强制删除

注:
分支的使用:
【1】比如我们在本地文件夹中创建文件666.txt,然后git add 666.txt,该文件就从本地的工作区进入到本地暂存区,然后git commit 666.txt,这样该文件就从本地的暂存区进入到了本地的仓库的某个分支(即你当前操作的分支)。
【2】这时你切换到别的分支,比如你commit的时候是在master分支中操作的,你用git checkout newBranch切换到newBranch分支(前提是你之前有创建过该分支),然后你就会发现在本地仓库中的666.txt文件消失了,只有重新切换为master分支才重新出现。
【3】然后你再git push original master,就是将master分支上传,你就会发现此时GitHub仓库中的master分支更新多了个666.txt,而newBranch分支没有。
以上就是分支的使用。由此我们可以看到,通过分支,程序员的合作开发可以做到相互独立,互不干扰。


解决合并冲突:
合并分支是将两个分支相同的文件保留,不同的文件添加进来。
当两个分支上对同一个文件进行不同的修改,然后当合并分支的时候就会产生冲突。
例如同时修改了同一个文件的同一行,然后再合并时就会报错,要求我们解决冲突完才能提交结果。

 

例:
Master分支下的b1.txt:

b1 branch
在Master分支下添加的内容...
b1分支下的b1.txt:
b1 branch
在b1分支下添加的内容...
合并后:
Git分布式版本控制工具和GitHub(二)--Git指令入门,git,分布式,github
合并后的文件,可以发现文件合并后有问题,并且已经标出。


这就需要手动解决冲突,解决冲突的步骤如下:
1.处理文件中冲突的地方
2.将解决完冲突的文件加入暂存区(git add b1.txt)
【告诉它我们已经解决了冲突】
3.提交到仓库(git commit -m "手动处理文件合并问题" b1.txt -i)
【后面要有-i参数,不然会报错】

五.标签操作的命令

Git中的标签,代表某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表的是人们会使用这个功能来标记发布结点(v1.0,v1.2等)【v是version】。

注:你什么时候提交标签,那个标签就是代表那一时刻的状态。例如,我们在第一次修改前可以创建标签为v1.0,第一次修改后可以创建标签为v2.0,第二次修改后可以创建标签为v3.0。
那么v1.0可以表示第一次修改前的状态,v2.0可以表示第一次修改后到第二次修改前的状态,v3.0可以表示第三次修改后的状态。


标签可以当做是版本的名字,我觉得标签更好的叫法是版本。文章来源地址https://www.toymoban.com/news/detail-621561.html

//列出已有的标签
git tag

//创建标签
//格式:git tag [name]
git tag v0.1

//将标签推送至远程仓库
//格式:git push [shortName][name]
git push origin v0.1

//检出标签,其实就是把我们当初那个标签的状态下载下来,
//这样的话我们就能拿到当时状态的代码
//格式:git checkout -b [branch][name]
git checkout -b master v0.1

到了这里,关于Git分布式版本控制工具和GitHub(二)--Git指令入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Git分布式版本控制工具

    1.应用场景 备份 代码还原 协同开发 追溯问题代码的编写人和编写时间 2.Git安装与常用命令 ls/ll:查看当前目录 cat:查看文件内容 touch:创建文件 vi:vi编辑器,vi+文件名,(使用vi编辑器方便展示效果) 在vi编辑器中,按下键盘上的Esc键,确保你处于正常模式(Normal Mode)。

    2024年02月12日
    浏览(44)
  • Git分布式版本控制工具(详细笔记)

    git config -- global user.name\\\"itcast\\\" git config -- global user.email\\\"hello@itcast.cn\\\" (邮箱没有什么用,我这里就简单写了) git config -- global user.name  git config -- global user.email 有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。 1.打开用户目录,创建.bashrc文件      部分

    2024年02月14日
    浏览(37)
  • 【Linux】分布式版本控制工具git

    ​ ​📝个人主页:@Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:Linux 🎯 长路漫漫浩浩,万事皆有期待 上一篇博客:【Linux】Linux调试器 - gdb 大家可能用过 Github, Gitee 等代码托管平台。实际上这些平台都是可以通过 git 来进行管理的,而 git 本身

    2024年02月07日
    浏览(33)
  • Linux | 分布式版本控制工具Git【版本管理 + 远程仓库克隆】

    本文来为读者介绍一下分布式版本控制工具Git,可能你听说过Gitee/GitHub,里面都带有git的字样,那它们和Git之间有什么关联呢❓ Git又是何物,让我们一起走进本文的学习📖 Git(读音为/gɪt/)是一个 开源的分布式版本控制系统 ,可以有效、高速地处理从很小到非常大的项目

    2024年02月01日
    浏览(51)
  • 分布式版本控制工具Git官网概述、下载安装和代码托管中心

    首先直接在百度搜索Git,点击官方 可以看到官方给的介绍是: Git是个免费的、开源的 分布式版本控制系统 ,可以快速高效地处理从小型到大型的各种项目。 Git 易于学习,占用面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于

    2024年01月20日
    浏览(44)
  • 分布式版本控制git

    远端仓库 git init --bare 别名: origin 本地仓库 git clone … SSH协议是一个验证授权的网络协议; 使用ssh公钥登录git服务器: 生成公钥和私钥(ssh-keygen -t rsa) 安装openssh server (可省略) 复制公钥内容到远端服务器.ssh/authorized_ keys git clone ssh://mark@ 192.168.31.91:/home/mark/mathlib 暂存(git add) 提交

    2024年02月11日
    浏览(50)
  • 分布式版本控制系统 Git

    目录 一、Git简介 二、Git历史 三、安装git 1.准备环境 2.Yum安装Git 四、初次运行 Git 前的配置 命令集 实例: 五、Git命令常规操作  六、获取 Git 仓库(初始化仓库) 创建裸库 实例 : 创建本地库         官网:Git         git是一个分布式版本控制软件,最初由林纳斯

    2024年02月22日
    浏览(38)
  • Git——分布式版本控制系统

    Git是一个开源的分布式版本控制系统,可以高效的处理从小到很大的项目版本管理。 集中式 SVN,CVS 使用单一的服务器用来管理和存储所有文件的修订版本;协同开发的成员拉取或提交都需连接到这台服务器;如果服务器宕机,宕机期间任何人都不能拉取或提交,无法做到协

    2024年02月10日
    浏览(42)
  • git分布式版本控制系统

    右键菜单 选择Git Bash Here,输入任意一条后回车来查看当前Git软件的安装版本。 2.1 区域 Git软件为了更方便地对文件进行版本控制,根据功能得不同划分了三个区域 存储区域:Git软件用于存储资源得区域。一般指得就是.git文件夹 工作区域:Git软件对外提供资源得区域,此区

    2024年03月21日
    浏览(45)
  • Git 分布式版本控制系统

    版本控制系统是一种记录文件变更历史的系统,它允许开发者跟踪文件的修改、还原特定版本、并在多个用户之间协同工作。VCS 主要有两种类型:集中式版本控制系统(Centralized VCS,如 SVN)和分布式版本控制系统(Distributed VCS,如 Git)。 版本追踪: 可以追踪文件的每一次

    2024年01月17日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包