使用git的方法--基础

目录

Git下载和安装及配置

1、下载与安装git客户端

2、生成Git密钥 

3、使用Github或者Gitee创建远端仓库

Git相关基础内容(必须了解)

代码管理步骤

仓库:

Git 仓库设置全局设置:

关联仓库两种方法

【方法一】:关联下载远程仓库分支 

【方法二】:通过remote关联远程仓库

本地仓库操作

gitee命令介绍

版本管理&提交代码:

版本重置:

分支管理

创建分支(远程/本地)

查看分支:

切换分支

分支合并

本地切换分支 

关联交互使用: 

远程仓库:

拉取源码:

关联和上传和下载

修改远程仓库分支名称

不同名-远程分支重命名(本地和远程库)

同名-远程分支重命名(本地和远程库)

git push 详解 上传

概要

描述

git pull 详解 下载

概要

描述

Bash基本操作命令

Jenkis 使用git进行持续集成




Git下载和安装及配置

1、下载与安装

下载路径:Git - Downloads

#配置用户名 

git config --global user.name "你的用户名"

 #配置邮箱

git config --global user.email "你的邮箱地址"

 查询配置:

git config --global --list

2、生成Git密钥 

在Git Bash中输入如下命令,生成公私钥对

ssh-keygen -t rsa -C "你的邮箱地址"

回车之后出现如下提示信息,意思是指定密钥存放路径,建议直接回车。使用默认地址。

生成过程中输入你的用户密码,如果输入了一定要记住哦。

如果想要使用公钥的时候,不输入密码,在提示输入密码的时候,直接回车三次即可。

生成的公钥在用户目录下的.ssh文件夹中,例如:C:\Users\roy08\.ssh

id_rsa:私钥

id_rsa.pub:公钥

之后使用时如果需要上传或者修改远端仓库,则需要将公钥配置到远端仓库服务器上,而私钥由自己保留在客户端本机,以便于Git使用时完成校验。

3、使用Github或者Gitee创建远端仓库

注册Github或者Gitee的用户,创建远端仓库:以GitHub为例:点击右上角+号,选择new repository。

4、环境配置

右键 (此电脑) ->(属性) -> (高级系统设置) ->(环境变量)...

//查看git的版本,检查git是否安装和配置成功
git --version

git的安装与配置(详细) - 知乎

Git相关基础内容(必须了解)

0、git工作原理:用仓库对版本进行管理,管理的不是文件,而是修改记录。
        如果git gui中文乱码,修改 edit ->options中的 cp936编码 改为utf-8.

本地公钥  id_rsa.pub 

    git操作的时候3个概念:
           工作区: 自己硬盘上实实在在的文件位置。  add到暂存

           暂存区(stage): 在真正确认提交之前,需要将文件保存到暂存区,之后确认了再commit到本地仓库。 commit 到仓库。

          本地仓库: 其实是git init之后产生的.git文件夹(.git是个隐藏文件夹。)

          远程仓库:一个仓库可以有多个分支; 服务器gitee;gitlab;github

        本地 →         本地仓库   本地分支

        暂存区 

        远程           远程仓库    远程分支

 注意事项:git地址格式:git@XXXX/XXX.git

在git中,origin的意思是指“远程仓库”

顺序:有仓库,先提交暂存区,再关联远程仓库,在提交远程仓库

顺序:有仓库,先关联远程仓库,再提交暂存区,在提交远程仓库

代码管理步骤

使用步骤

        1.本地创建仓库                 git init

        2.关联远程仓库                 git clone url.git

        3.提交到暂存区                 git add .

        4.暂存区提交到本地          git commit -m "XXX"

        5.提交代码                         git push 远程仓库 分支

        6.下载代码                         git pull 远程仓库 分支

仓库:

Git 仓库设置全局设置:

git config --global user.name "myname"

git config --global user.email "112xxxxx@qq.com"

1、找到你本地公钥 id_rsa.pub ,然后复制里面的内容  配置到gitee

2、登录gitee  设置-----SSH公钥

3、粘贴进去,保存就OK了

关联仓库两种方法

【方法一】:关联下载远程仓库分支 

git clone url.git

注意:需要push则需要进入刚才远程仓库目录中(目录名字一般为仓库名)

所下载是master分支 

cd XXX

该master分支下所有文件名字一般为仓库名,该仓库就是本地 且 与远程仓库名称一样

 必须需要 cd 进入刚才远程仓库目录中 查看关联远程仓库信息; 才进行pull 和 push操作       

【方法二】:通过remote关联远程仓库

操作之前必须  git init 创建本地仓库 

git remote add origin url.git

#当前目录为为本地仓库,所以需要git init 
# origin 表示远程仓库(不懂) 
# url.git:替换仓库地址
# 作用管理远程仓库地址,当前所在目录关联远程仓库

# 注意的是:一般看不到分支的     1.  git init      2. git commit -m ""

                                                       2.  git pull      3. git branch -a

本地仓库操作

新增本地关联远程仓库

git init

查看本地关联远程仓库

git remote -v

删除本地关联远程仓库

git remote rm delname

备注:无法删除gitee 、gitlab 、github 服务的仓库

修改本地关联远程仓库

git remote rename oldname newname

gitee命令介绍

1、git  可以直接单机使用:
    git bash 是支持linux命令的。    
    所有的命令都可以用--help 或者故意敲错来查看帮助。
    git 配完用户名和邮箱,可以用 git config --list查看 ,退出用q。

产生的公私钥对,默认在用户目录下的.ssh目录里

版本管理&提交代码:

管理历史记录

git  init 命令: 在当前目录生成一个本地仓库,并且默认创建一个主线分支叫做master。
            千万不要删掉git init!!!!!! 恢复不了。
git status    查看当前git仓库的状态。
            1、在工作区修改后,会看到untracked files 未追踪的文件。
            2、add之后 ,会看到Changes to be committed
            3、commit 之后 nothing to commit, working tree clean 表示工作区和仓库是同步的。

git add .   :将文件添加到暂存区。   如果想退回,可以git rm --cached 文件名。
                    修改之后,如果git restore 会把修改退回,找不回来的,慎用。

git commit   -m   "XXXX"    : 将暂存区文件提交到本地仓库,这样才能真正管理起来。

 

版本重置:

        git reset: 将git回到某个版本下的状态。 git reset --hard 表示连同工作区一起修改回之前的版本。

reset和revert的区别:reset回到过去,revert恢复原状时间前进 

            版本号可以使用git reflog中的记录编号, 也可以用HEAD^表示前一个版本,多少个^就表示前多少个版本,也可以用~数量表示。

git log :可以查看提交的记录,每个记录都有个编号。 
            注意只能查看当前版本之前的日志

git reflog: 可以查看所有提交的记录,包括当前版本之后的。

过程中有个HEAD标记,表示当前所在的版本。

分支管理

创建分支(远程/本地)

确定是否关联远程仓库 

git remote -v

 查看所有远程分支

git branch -rv

 创建本地分支 

git checkout -b 分支名

    远程分支创建成功(前提仓库进行关联操作) 

git push --set-upstream origin 刚刚创建的分支名

查看分支:

git branch  用于进行分支创建,相当于拷贝一个当前版本的记录。
            加分支名表示创建分支, 不加表示显示当前所有分支。

git branch -a                            # 查看远程仓库所有分支名

gitbranch -v                            # 查看远程仓库当前所在分支

概要

git branch  [--color[=<when>] | --no-color] [--show-current]
            [-v [--abbrev=<n> | --no-abbrev]]
            [--column[=<options>] | --no-column] [--sort=<key>]
            [--merged [<commit>]] [--no-merged [<commit>]]
            [--contains [<commit>]] [--no-contains [<commit>]]
            [--points-at <object>] [--format=<format>]
            [(-r | --remotes) | (-a | --all)]
            [--list] [<pattern>…​]
git branch [--track | --no-track] [-f] <branchname> [<start-point>]
git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
git branch --unset-upstream [<branchname>]
git branch (-m | -M) [<oldbranch>] <newbranch>
git branch (-c | -C) [<oldbranch>] <newbranch>
git branch (-d | -D) [-r] <branchname>…​
git branch --edit-description [<branchname>]

切换分支

git checkout
            新的命令是switch   

分支合并

git merge : 合并两个分支的内容
            git merge 分支A :将分支A的内容合并到当前分支。
            要改哪个分支,就先切过来。然后merge别的。

步骤:1、进入要合并的分支(如开发分支合并到master,则进入master目录) git pull

           2、查看所有分支是否都pull下来了               git branch -a 

           3、使用merge合并开发分支        命令格式:git merge 分支名

           4、查看合并之后的状态                                git status

备注:如果两个分支中都进行了修改,合并的时候会提示处理冲突,并且需要给出理由。 用:wq退出。

本地切换分支 

        git checkout origin/master                # 切换远程仓库master分支名

        git checkout origin/DDT                   # 切换远程仓库DDT分支名

可快速切换本地电脑的分支,由master 切换Web-DDT  可切来切去(不用新增一个文件夹)

关联交互使用: 

远程仓库:

平常在公司里,一般会用gitlab搭建一个公司内部的git服务器用于存放源码。  
        需要和管理员沟通,获取账号权限,可能需要提供公钥,也可能是分配一个账号。
       gitee和github:是开源代码托管平台,全世界都能用。
    

拉取源码:

        git clone git项目地址。  过程中会自动完成init操作。


关联和上传和下载

        git remote add <别名> 地址:添加一个远程仓库,并且给他取个名字。

        git push 仓库别名  分支名 :上传代码(本地仓库的修改)    

        git pull 仓库别名  分支名: 下载代码

其实真正的下载叫fetch,pull实际上是fetch和merge的组合。
            
        git branch --set-upstream-to=<别名>/master master  通过这一句,可以将默认的push pull 的远程仓库roy/master 绑定到本地master ,之后 可以省略输入 仓库名和分支名。

    第一次进行push操作的时候,会提醒验证身份,需要输入用户名和密码,是gitee的账号密码。如果填错了会出现鉴权错误,push不上去。
    修改windows凭据: 改成gitee的用户名和密码。

修改远程仓库分支名称

不同名-远程分支重命名(本地和远程库)

本地分支重命名(还没有推送到远程) 

git branch -m oldName newName

同名-远程分支重命名(本地和远程库)

(已经推送远程-假设本地分支和远程对应分支名称相同)
a. 重命名远程分支对应的本地分支

git branch -m oldName newName

b. 删除远程分支

git push --delete origin oldName

c. 上传新命名的本地分支

git push origin newName

d.把修改后的本地分支与远程分支关联

git branch --set-upstream-to origin/newName

链接:https://www.jianshu.com/p/f657ccd854fb

git push 详解 上传

概要

git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
           [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
           [-u | --set-upstream] [-o <string> | --push-option=<string>]
           [--[no-]signed|--signed=(true|false|if-asked)]
           [--force-with-lease[=<refname>[:<expect>]] [--force-if-includes]]
           [--no-verify] [<repository> [<refspec>…​]]

描述

使用本地 refs 更新远程 refs,同时发送完成给定 refs 所需的对象。

每次推送到存储库时,您都可以通过在其中设置挂钩来使存储库发生有趣的事情。请参阅git-receive-pack(1) 的文档。

当命令行没有使用 <repository>参数指定推branch.*.remote送到哪里时,会参考当前分支的配置来确定推送到哪里。如果缺少配置,则默认为origin

当命令行未指定使用<refspec>... 参数或--all--mirror,选项推送什么时,该命令通过咨询配置--tags找到默认值,如果未找到,则遵循配置来决定推送什么(参见git-config(1)了解的意思)。<refspec>remote.*.pushpush.defaultpush.default

当命令行和配置都没有指定要推送的内容时,使用默认行为,其对应的simple 值对应于push.default:当前分支被推送到相应的上游分支,但作为安全措施,如果上游分支与本地分支的名称不同。

git pull 详解 下载

概要

git pull [<options>] [<repository> [<refspec>…​]]

描述

将来自远程存储库的更改合并到当前分支中。如果当前分支在远程之后,那么默认情况下它将快进当前分支以匹配远程。--rebase如果当前分支和远程分支已经分歧,用户需要用or --no-rebase(或 中对应的配置选项)指定如何协调分歧的分支pull.rebase

更准确地说,使用给定参数git pull运行git fetch,然后根据配置选项或命令行标志,将调用git rebasegit merge协调分歧的分支。

<repository> 应该是传递给git-fetch(1)的远程存储库的名称。<refspec> 可以命名任意远程引用(例如,标签的名称),甚至可以命名具有相应远程跟踪分支的引用集合(例如,refs/heads/*:refs/remotes/origin/*),但是通常它是远程存储库中分支的名称。

<repository> 和 <branch> 的默认值是从git-branch(1) --track设置的当前分支的“远程”和“合并”配置中读取的。

Bash基本操作命令

命令名称英文作用
lslist查看当前目录下的内容
pwdprint work directory查看当前所在目录
cd[目录名]change directory切换目录
mkdir[目录名]make directory创建目录
touchtouch创建文件
rm[文件名]remove删除指定文件
cp[源文件或者目录] [目的文件或者目录]cpoy复制
mv[源文件或者目录] [目的文件或者目录]move移动
resetreset重置终端
clearclear清屏
historyhistory查看历史命令

Jenkis 使用git进行持续集成

github放公钥,jenkins放私钥

gitee放公钥,jenkins放私钥 

本地公钥  id_rsa.pub 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AMING20220827

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值