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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 2021-09-21 -> 正文阅读

[系统运维]2021-09-21

git/github学习笔记

https://blog.csdn.net/zaishuiyifangxym/category_9991200.html

Git学习网站(特别重要)
1.Git简介
Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
那什么是版本控制系统?
如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:
想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:
在这里插入图片描述过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。
看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。
更要命的是,有些部分需要你的财务同事帮助填写,于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她),然后,你继续修改Word文件。一天后,同事再把Word文件传给你,此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难。
于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?
这个软件用起来就应该像这个样子,能记录每次文件的改动:
在这里插入图片描述2.安装
1).在Linux上安装Git
首先,你可以试着输入git,看看系统有没有安装Git:

$ git
The program ‘git’ is currently not installed. You can install it by typing:
sudo apt-get install git
像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。
如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。
老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core,因为以前有个软件也叫GIT(GNU Interactive Tools),结果Git就只能叫git-core了。由于Git名气实在太大,后来就把GNU Interactive Tools改成gnuit,git-core正式改为git。
如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。

2).在Windows上安装Git
在Windows上使用Git,可以从Git官网直接下载安装程序(https://git-scm.com/downloads),然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
在这里插入图片描述安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

使用Windows的童鞋要特别注意:
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可:
在这里插入图片描述3.常用命令

1、安装git
git config --global user.name 'XXX'
git config --global user.email 'XXX'
2、创建本地库
mkidir learngit //自定义文件夹
cd learngit
touch test.md //创建test.md文件
pwd //显示当前目录
3、常用CRT
git init //初始化代码仓库
git add learngit.txt                               //把所有要提交的文件修改放到暂存区
git commit -m 'add a file'                      //把暂存区的所有内容提交到当前分支
git status                                            //查看工作区状态
git diff                                                //查看文件修改内容
git log                                                //查看提交历史
git log --pretty=oneline                       //单行显示
git reset --hard HEAD^         //回退到上一个版本,其中(HEAD^^(上上版本),HEAD~100(往上100个版本))
commit id                                          //(版本号) 可回到指定版本
git reflog                                           //查看历史命令
其中说明【
工作区(Working Directory)
版本库(Repository) #.git
stage(index) 暂存区
master Git自动创建的分支
HEAD 指针
】
git diff HEAD -- <file>                                  //查看工作区和版本库里最新版本的区别
git checkout -- <file>                                   //用版本库的版本替换工作区的版本,无论是工作区的修改还是删除,都可以'一键还原'
git reset HEAD <file>                                   //把暂存区的修改撤销掉,重新放回工作区。
git rm <file>                                               //删除文件,若文件已提交到版本库,不用担心误删,但是只能恢复文件到最新版本
4、创建SSH Key,建立本地Git仓库和GitHub仓库之间的传输的秘钥
ssh-keygen -t rsa -C 'your email'                                                    //创建SSH Key
git remote add origin git@github.com:username/repostery.git          //关联本地仓库,远程库的名字为origin
//第一次把当前分支master推送到远程,-u参数不但推送,而且将本地的分支和远程的分支关联起来
git push -u origin master
git push origin master                                                                  //把当前分支master推送到远程
git clone git@github.com:username/repostery.git                            //从远程库克隆一个到本地库
5、分支
git checkout -b dev                                   //创建并切换分支
#相当于git branch dev 和git checkout dev
git branch                                                //查看当前分支,当前分支前有个*号
git branch <name>                                   //创建分支
git checkout <name>                                //切换分支
git merge <name>                                   //合并某个分支到当前分支
git branch -d <name>                               //删除分支
git log --graph                                          //查看分支合并图
git merge --no-ff -m 'message' dev            //禁用Fast forward合并dev分支
git stash                                                 //隐藏当前工作现场,等恢复后继续工作
git stash list                                            //查看stash记录
git stash apply                                         //仅恢复现场,不删除stash内容
git stash drop                                          //删除stash内容
git stash pop                                           //恢复现场的同时删除stash内容
git branch -D <name>                              //强行删除某个未合并的分支
//开发新feature最好新建一个分支
git remote                                               //查看远程仓库
git remote -v                                           //查看远程库详细信息
git pull                                                   //抓取远程提交
git checkout -b branch-name origin/branch-name                  //在本地创建和远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name   //建立本地分支和远程分支的关联
6、其他---标签
git tag v1.0                                                                      //给当前分支最新的commit打标签
git tag -a v0.1 -m 'version 0.1 released' 3628164                 //-a指定标签名,-m指定说明文字
git tag -s <tagname> -m 'blabla'                                        //可以用PGP签名标签
git tag                                                                             //查看所有标签
git show v1.0                                                                   //查看标签信息
git tag -d v0.1                                                                 //删除标签
git push origin <tagname>                                               //推送某个标签到远程
git push origin --tags                                                       //推送所有尚未推送的本地标签

4.git 怎么上传文件到github上

1、安装git
    sudo  apt-get install git
2、配置全局变量
    git config --global user.name langhunm
    git config --global user.email langhunm@163.com
    该配置被写入到了用户目录下的.gitconfig文件中
    查看全局变量    git  config  --list

3、创建项目,步骤是创建项目目录,进入目录使用git init命令初始化项目,比如:

创建项目example
    1)mkdir example-->cd example
    2)git init(执行该命令后 会在该目录下创建一个.git文件夹[包含repository的框架文件],该命令的作用是初始化repository[] )

4、将本地源与远程源链接

git remote add example https://github.com/langhunm/example.git(该命令的作用有两个,一个是将本地源起了一个名字叫example。另一个作用是将本地这个源与远程的源联系起来了)

5、在本地源上制作源文件,对该源文件进行跟踪,提交该源文件到本地源,

 1)创建源文件 touch a.c
    2)对源文件进行跟踪,git add a.c
    3)对源文件进行提交,git commit -m "first commit"
6、同步本地源与远程源
    git push example master(同步本地源example分支到远程源master分支中)

7、在新的电脑上克隆远程源到本地
git clone https://github.com/langhunm/example.git example(该命令的作用是克隆远程源中的master到本地源,并将本地源分支命名为example,若不指定example,则默认为origin)

执行完后,如果没有异常,等待执行完就上传成功了,中间可能会让你输入Username和Password,你只要输入github的账号和密码就行了。但是在这一步很多人执行会报错,报类似failed to push some refs to…的错误,那是因为本地代码目录缺失README.md文件。我们只需要先
通过如下命令进行代码合并【注:pull=fetch+merge]
*
pull=fetch+merge
*
git pull --rebase origin master
*
git push -u origin master -f

在这里插入图片描述
在这里插入图片描述
git各种信息查询的方法:

1、查询全局变量 git config --list
2、查询本地源跟踪状态 git status
3、查询本地源的提交状态 git show
4、查询远程源的信息 git remote -v
第一步   初始化一个仓库(当前目录下),   git   init                如果 git init   AA     - 在当前目录下创建一个目录 AA
第二步   远端仓库 和本地仓库的链接     git remote  add  AA(远端仓库名)   +   远端仓库地址
第三步    git  status   查看显示状态    //     git  help
              git   add  +  "文件名"(git add .)
              git commit  -m  "描述"
              git pull
   
              git push  AA (远端仓库名)  +  master(本地master分支)

git添加远程库的时候有可能出现如下的错误,
在这里插入图片描述怎么解决?只要两步:1、先删除1$ git remote rm origin2、再次执行添加就可以了。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 15:02:37  更:2021-09-22 15:04:33 
 
开发: 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 16:47:39-

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