• 关于GIT配置安装及使用


    1-git安装及公钥配置

    Windows

    https://git-scm.com/downloads下载,安装使用,一直下一步即可。

    MacOS

    在系统的终端中直接输入:git --version 命令,如果没有安装Git的话会提示安装,按照提示一步一步安装即可。

    Linux

    一般常见发行版的软件仓库中都有Git软件,可以直接安装。例如debian/ubuntu:sudo apt-get install git

    生成密钥

    桌面右击打开git bash

    请添加图片描述

    输入命令

    $ ssh-keygen -t rsa -C "个人邮箱地址"

    按3个回车,密码为空。

    最后在C:\Users{windows用户名}\.ssh目录下得到了两个文件:id_rsa和id_rsa.pub

    添加公钥

    1. 打开id_rsa.pub将其中内容复制

    1. 打开浏览器访问https://gitcode.net/-/profile,未登录则先登录再访问

    2. 点击右上角个人头像-点击设置菜单-点击左侧SSH密钥,在密钥输入框中粘贴复制的内容,点击添加密钥按钮完成公钥的添加

    在这里插入图片描述

    1. 完成git安装和公钥配置,可以开始git clone下载代码了。

    2-如何使用git

    配置Git

    安装完成后,还需要进行最后一步配置,在终端中输入以下命令来设置自己的姓名和邮箱,以后每一次提交都将以这个标识你的身份

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

    设置git仓库能正常显示中文

    $ git config --global core.quotepath false
    

    克隆Git仓库

    何为仓库?我们可以理解为一堆需要进行版本管理的文件的集合。

    在文件夹下右击鼠标-选择Git Bash Here 打开Git命令行

    在这里插入图片描述

    通过浏览器获取仓库地址,页面中点击仓库首页克隆按钮,点击通过SSH Clone项目的复制链接按钮,得到clone地址,在命令行输入 git clone 复制的ssh clone链接

    在这里插入图片描述

    跟踪文件变更

    现在我们已经克隆好一个Git仓库了。

    进入仓库目录

    cd c4-java-base-authentication
    

    我们使用git status来查看一下当前仓库的工作区状态

    1. $ git status
    2. On branch master
    3. Your branch is up to date with 'origin/master'.
    4. nothing to commit, working tree clean

    现在我们来添加点东西。

    如果README.md 文件不存在,使用touch来新建一个文本文件;如果存在则不需要 touch 创建。

    $ touch README.md
    

    然后我们输入点内容进去,"hello world" 按要求修改成相应内容。

    $ echo "hello world" >> README.md
    

    这时候我们再使用git status来查看一下工作区状态

    1. $ git status
    2. On branch master
    3. No commits yet
    4. Untracked files:
    5. (use "git add ..." to include in what will be committed)
    6. README.md
    7. nothing added to commit but untracked files present (use "git add" to track)

    这时提示有一个未被跟踪的文件(untracked files) README.md,并且提示你可以使用命令git add 来跟踪它。这里的是文件路径。就是说你可以是使用git add README.md来跟踪它。

    1. $ git add README.md
    2. $ git status
    3. On branch master
    4. No commits yet
    5. Changes to be committed:
    6. (use "git rm --cached ..." to unstage)
    7. new file: README.md

    我们跟踪该文件后,再查看一下工作区状态的时候,发现提示是有一个新的文件正准备被提交(commit),并且你可以使用git rm --cached 来撤销对该文件的跟踪。这样该文件的任何修改就不会被git进行版本管理了。

    提交文件变更

    接下来我们要提交这个文件的变更,使用git commit命令

    $ git commit -m "README"
    

    -m 表示给这个提交一个信息,可以理解成提交说明。用来说明本次提交的基本信息,例如:本次提交都干了些啥,做了什么修改等。如果说明信息很多,我们可以直接使用git commit命令,不带-m参数,这时git会打开一个设定好的本地文本编辑器,你可以在编辑器中输入更多的提交说明内容并保存。

    提交(commit)可以理解成一系列文件的变更的集合。整个仓库的历史的变更就是以一个个commit为单位串联起来的。在仓库历史变更的长线上,一个个提交犹如珍珠一般镶嵌在上面。

    我们提交之后,再执行git status命令,被add的这些文件就不会再在输出信息中了。我们可以理解为这些文件的变更已经被提交,不再出现在工作区了。除非你再次对这些文件进行修改以及add

    1. $ git status
    2. On branch master
    3. nothing to commit, working tree clean

    推送到远程仓库

    git commit命令只是将更新提交到本地仓库,要实现协作开发,需要将更新推送到远程仓库,输入下列命令执行推送

    $ git push origin master
    

    如果远程仓库有更新,即本地仓库版本落后于远程仓库,则推送失败,报错如下:

    在这里插入图片描述

    需要先拉取远程仓库更新

    $ git pull origin master
    

    Git 命令行弹出合并信息编辑

    在这里插入图片描述

    直接输入 :q 退出

    $ :q
    

    再执行推送命令

    $ git push origin master
    

    注意:也可以使用Git GUI实现提交和推送,Git GUI在提交时可以直观的看到哪些文件有更新,操作过程查看本目录下【README-00-通用-1-Git.md】的扩展资料 - Git GUI界面操作示意图

    3-git合并父工程更新

    1. 给自己的仓库(origin)添加上游仓库(upstream)

    git remote add upstream git@gitcode.net:review/c-practice/c4-java-base-authentication.git
    
    1. 拉取上游仓库(upstream)更新

    git pull upstream master
    
    注意:如果自己仓库(origin)有提交,则需合并上游仓库(upstream)的更新,在合并信息中输入下面命令,直接退出合并信息的编辑
    
    :q
    

    在这里插入图片描述

    1. 将代码推送到到自己的仓库origin.

    git push origin master
    

    4-git分支管理

    创建/切换分支

    分支git里面又一个十分重要的概念,我们在一条历史变更上线(主分支)上提交我们的修改,也可以再多条历史变更长线(其他分支)上提交我们的修改。这就为我们并行开发提供方便。我们可以从主分支的某一个提交点上新建一个分叉(新分支),然后又新建一个分叉(另一个新分支),在两个新分支上开发不同的功能,最终又可以把两个新的分支合并到主分支上。

    那么如何新建一个分支呢?十分简单,我们只需要执行一下命令

    $ git branch dev
    

    这样我们就新建好了一个新的分支dev了。使用git branch来查看分支。

    1. $ git branch
    2. dev
    3. *master

    *号表示当前分支仍然在master分支上,虽然我们新建一个dev分支。

    如何切换到dev分支?执行以下命令:

    $ git checkout dev
    

    这样我们就切换到了dev分支上,就可以在dev分支上开发相关功能了。

    上述新建分支和切换分支是两个命令,实际上我们可以使用一条命令来新建一个分支,并切换到这个分支

    $ git checkout -b dev02
    

    如何删除分支呢?
    我们不能身处一个分支上,来删除这个分支。例如我要删除dev02这个分支,我就必须切换到其他分支上

    $ git checkout master
    

    然后执行git brach -d dev02命令来删除

    $ git branch -d dev02
    

    有时候提示dev02上有变更没有合并到master,不让你删除。这时你可以使用-D来强制删除。这并不是推荐做法,除非你确定不想要dev02分支的变更

    $ git branch -D dev02
    

    合并分支

    我们在dev分支上做了很多开发,觉得可以了。这个时候就需要把dev分支合并到master分支上,这样dev分支上的所有的提交就都合并到master分支了。

    我们先在dev分支上做一些变更

    1. $ git checkout dev
    2. $ touch config.txt
    3. $ echo "config" >> config.txt
    4. $ echo "hehe" >> README.md
    5. $ git add .
    6. $ git commit -m "添加配置文件以及修改README.md"

    好了,我们在dev分支上做了一些变更(新建了config.txt文件并添加了内容,给README.md文件追加了内容)并提交了。我们使用了git add .来表示跟踪所有的文件变动(新增和修改)

    切换到master分支

    $ git checkout master
    

    合并dev分支到master

    $ git merge dev
    

    这样我们就将dev上的所有变更合并到了master分支上了。

  • 相关阅读:
    Java 8 内存管理原理解析及内存故障排查实践
    k8s安装,linux-ubuntu上面kubernetes详细安装过程
    Scss
    golang面试题:字符串转成byte数组,会发生内存拷贝吗?
    torch 神经网络模型构建
    数据治理----集中、分布的各种模式傻傻分不清楚
    图纸管理制度《四》
    如何在AIX操作系统上修改Java环境变量
    flume系列(一)部署示例及组件介绍
    RT-thread 中CAN总线的应用
  • 原文地址:https://blog.csdn.net/weixin_36754290/article/details/125843606