• Git基础使用


    1、安装

    下载地址1:Git for Windows

    下载地址2:Git - Downloads

    下载地址3:阿里云盘-->https://www.alipan.com/s/BRgzbvkKNN4 

    下载之后一直下一步就ok,环境变量都不用配置。

    安装完后右键有Open Git这两个就说明安装成功了。

    2、基础配置

            首先,配置你的用户名和邮箱,之后所有的git都是这个配置。

    1. git config --global user.name "黑凤梨"
    2.  git config --global user.email "941013945@qq.com"

    指令尽量自己敲,只看不敲那还不如不看!

    通过初始化git,文件夹下会生成一个.git文件,这个目录是Git来跟踪管理版本的,不要随便改动,没把握的情况下会破坏git。执行

    git init

    3、基础指令

            在版本库wolai下创建一个Git.txt文件,内容是“qq941013945”

           一、 使用命令 git add readme.txt添加到暂存区里面去。

      

            执行完没报任何信息,说明执行成功。

            二、git commit 提交缓存的Git.txt, 

            git commit -m "Git.txt提交第一版" 提交时需要解释说明一下

            通过git status查看状态,是否还有未提交的

            因为本目录下原本就有一个压缩包,所以报了这个压缩包没提交,但是目前先不用管他。现在修改一下Git.txt文件,再次查看状态。

            提示被修改,但是未被提交!通过执行

    git diff Git.txt
    

    可以查看文件改变了什么(增删改)

            做了改动,需要再次提交,首先,提交至缓存,再commit,最后再查看一下状态有没有成功。

            历史版本,再对Git.txt文件做修改。

            查看一下提交日志

        使用git log --pretty=oneline打印日志,可以规避一些不重要的信息
    

           版本回退可以使用以下:回退上一版, git reset  --hard HEAD^ 回退到上上个版把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,这样推就很鸡肋,可以如下指令:git reset  --hard HEAD~100 即可。

            当前Git.txt内容如下:

            回退上一版本

            回退到了老版本,但是现在又需要新版本,可以先查一下版本号,通过版本号回得到新版本。查看版本号:git reflog 回到新版本:git reset --hard+版本号。

    4、工作区与暂存区

            工作区如现在这个路径"wolai"

            版本库:在"wolai"下有一个隐藏的文件.git,版本库不属于工作区。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

            git add Git.txt-->存入暂存

            git commit -m "解释说明"-->从暂存区提交改修文件到工作区

            更改Git.txt文件并再添加一个yao.txt文件。

            将两个文件提交至暂存区

            

            将暂存区的文件提交至工作区,两个文件一起提交。

    撤销改修和删除文件

            撤销改修可以回退(git reset --hard HEAD^)到上一个版本,也可以执行(git checkout -- "file"),但是这个撤销改修是还未提交至暂存区的。

            演示改修过的文件提交至暂存区,再执行撤销改修,看看会怎么样

    删除文件

            先手动添加delet.txt文件,再提交至暂存,再提交到工作区。最后再执行rm delet.txt将文件删除,删除之后没有commit还是可以通过git checkout -- delet.txt恢复的.

    5、远程仓库Gitee

            由于本地和远程仓库的传输是SSH加密的,所以需要一些验证配置。通过执行ssh-keygen  -t rsa –C “随便取个名字”,回车回车就行了

           id_rsa是私钥私有的,id_rsa.pub是公钥公开的,将这段加密字段复制一下

            添加远程仓库

            暂且不选择其他创建模块,想了解可以网上查一下下面这些属性都是什么功能。

            接下来将本地仓库和远程仓库做关联,需要将仓库的链接复制下来,再执行指令git remote add origin空格+复制下来的连接。

            连接到远程仓库后就可以将本地文件推送至远程仓库了,git push -u origin "master"

    克隆远程仓库,创建一个本地库,初始化本地仓库,执行指令git clone 黑凤梨/随便取给名字2

    6、创建与合并分支

    创建并切换至demo分支

    git checkout -b demo 创建并切换

    git branch name 创建

    git checkout name 切换

    git branch 查看当前所在分支

    给文件添加内容

    切换到demo,把修改后的文件提交至demo,再次切回master查看yao.txt文件,发现没有改修后的信息,因为没有在master分支上提交,所以没有文件改修后的信息。

    在主分支master下通过git nerge name将分支合并,合并之后两者的内容就一致了。

    git branch -d name删除分支。

    解决内容冲突问题

    主分支和其他分支的同一个文件,两个文件都做了更改,并且commit了之后内容不一致,在合并时就会报提示信息。现在创建分支,更改分支demo2下yao.txt里面的内容,并提交至暂存区。

    切换至master,查看文件内容并没有“毕设1v1指导”,因为是在其他分支上提交的,所以主分支上没有。现给文件添加内容“模拟Java面试”,再提交至master的缓存区。现在主分支上将两个分支合并,git merge name,发现Merge conflict(合并冲突)

    冲突内容可通过cat name查看,解决办法,将分支内容改一致即可合并。HEAD是主分支的内容,=====下的是其他分支的内容

    内容改一致之后,再合并git merge demo2。

    demo2分支上的内容多了一条信息,要不然合并时会报一个提示信息!一般是有变更了才会commit,说人话就是你只能改一个分支上的东西,另一个保持原来的样子,这样才能合并成功。

    分支管理策略

          通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数--no-ff来禁用”Fast forward”模式。首先我们来做demo4演示下:

    1. 创建一个demo4分支。
    2. 修改yao.txt内容。
    3. 添加到暂存区。
    4. 切换回主分支(master)。
    5. 合并demo4分支,使用命令 git merge –no-ff  -m “注释” demo4
    6. 查看历史记录,demo4版本信息还在,还可以退回到之前的版本。

    分支策略:master组分支一般不用来干活,干活都是在其他分支上干,干完合并到主分支,master是相对稳定的。

    7、多人协作

    当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。

    1. 要查看远程库的信息 使用 git remote
    2. 要查看远程库的详细信息 使用 git remote –v

            

    创建远程分支

    推送分支

    master/demo

    本地

    上传前远程

    上传后

    其他分支应该时刻保持合主分支的内容一致,除了自己本地更改的内容。在工作中应该是每天工作开始前要update一下再进行工作。

    多人开发,在本地把分支荡下来,再分支上去做开发,做完之后合并就行,其实没啥操作,基本的都和上述一样的。

    Git常用命令:

       mkdir:         XX (创建一个空目录 XX指目录名)

       pwd:          显示当前目录的路径。

       git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

       git add XX       把xx文件添加到暂存区去。

       git commit –m “XX”  提交文件 –m 后面的是注释。

       git status        查看仓库状态

       git diff  XX      查看XX文件修改了那些内容

       git log          查看历史记录

       git reset  --hard HEAD^ 或者 git reset  --hard HEAD~ 回退到上一个版本

                            (如果想回退到100个版本,使用git reset –hard HEAD~100 )

       cat XX         查看XX文件内容

       git reflog       查看历史记录的版本号id

       git checkout -- XX  把XX文件在工作区的修改全部撤销。

       git rm XX          删除XX文件

       git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库

       git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

       git clone https://github.com/tugenhua0707/testgit  从远程库中克隆

       git checkout –b dev  创建dev分支 并切换到dev分支上

       git branch  查看当前所有的分支

       git checkout master 切换回master分支

       git merge dev    在当前的分支上合并dev分支

       git branch –d dev 删除dev分支

       git branch name  创建分支

       git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

       git stash list 查看所有被隐藏的文件列表

       git stash apply 恢复被隐藏的文件,但是内容不删除

       git stash drop 删除文件

       git stash pop 恢复文件的同时 也删除文件

       git remote 查看远程库的信息

       git remote –v 查看远程库的详细信息

       git push origin master  Git会把master分支推送到远程库对应的远程分支上

    更多项目请看我的git仓库-->黑凤梨 (Zhang---Yao) - Gitee.com

    8、解决每次提交都需要输入用户名和密码问题

    git config --global credential.helper store

    git push

    输入这个指令,再push一下,输入用户名和密码,它会记住,下次再push的时候就不用再输入用户名和密码啦,亲测有效。

  • 相关阅读:
    day51
    模板template
    第七讲(二):双指针,指针运用
    【虹科传感器小课堂】眨眼之见:通过气体检测进行热流量测量和校正
    有效的字母异位词,给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
    C++中的map
    Debian11安装MySQL8.0,链接Navicat
    手机如何改自己的ip地址
    基于springboot实现旅游路线规划系统项目【项目源码+论文说明】
    第六届智能家居亚洲峰会暨精品展(Smart Home Asia 2022)将于10月在沪召开
  • 原文地址:https://blog.csdn.net/qq_65225435/article/details/133746736