首页 > 其他分享 >git的操作--gitee

git的操作--gitee

时间:2022-11-30 09:12:16浏览次数:47  
标签:git -- gitee --- 仓库 版本 远程

目录

git介绍和安装

1.远程仓库:后端,写了一个接口,完成了一个功能,在公司里,功能完成,要把代码提交到远程仓库
2.公司里协同开发,版本管理需要使用软件:svn,git
3.下载:安装在操作系统上
  网址:https://git-scm.com/downloads
  一路下一步
  任意位置点右键,如果有两个东西(【git gui here】  【git bash here】),表示安装完成
4.pycharm中配置git
  下载成zip,使用pycharm打开
   使用pycharm直接拉下来,打开---》配置pycharm
	-settings中搜索git,把git安装可执行文件配置好
  以后下载开源软件:vcs--->get from version contral--->填入路径---》clone下来即可
5. svn,git ,github,gitee,gitlab
  5.1 svn:版本管理软件,它是集中式的版本管理,必须有个svn的服务端,服务端如果过来,svn就用不了了
  5.2 git :版本管理软件,它是一个分布式的版本管理,每个客户端都可以作为服务端,即便服务端挂了,也能进行版本管理(本地管理)
  5.3 github:全球最大的开源远程git仓库,全球最大的开源仓库,git远程仓库
	-如果我要写开源软件,本地装git,把代码提交到github
    -python监控公司代码有没有被传到github
 5.4 gitee:中国最大的开源软件仓库   【私有仓库,花钱买空间】
 5.5 gitlab:公司内部的远程仓库,运维搭建维护

git工作流程

1.工作流程:
  1.1 只要被git管理了,只要文件发生变化(新增,删除,修改),使用git就能看到它变成红色了
  1.2 工作区的变更,要提交到暂存区,变绿色了
  1.3 从暂存区提交到版本库,才会被版本管理,一旦被版本管理了,后期可以回退到某个版本
  1.4 可以把版本库的内容,提交到远程仓库,统一管理起来【所有开发者都可以提交】
  1.5 本地可以拉去远程的代码
  1.6 本地可以把本地代码提交到远程
注:1.有红色信息说明工作区有内容(内容发生了变化)---执行git add.  提交到暂存区
    2.有绿色信息说明暂存区有内容-----执行git commit -m '发生变化的详细说明'---提交至本地版本库
    3.只有被版本库控制的代码 才能被监听 所以可以回滚到任何一个版本

git常用命令

1.初始化仓库---被执行的该文件夹变成git仓库
  git init
2.当仓库中文件发生变化---查看状态
  新增可以通过linux命令新增(也可直接在文件中创建文件)
  git status
3.配置用户信息(可以同时配置局部与全局 局部没有使用全局)(配置一次)
  3.1 局部配置---只针对当前仓库--仓库的.git文件夹下的config文件中
      命令:git config user.name '名字'
            git config user.email '邮箱'
  3.2 全局配置---针对所有仓库--C:C:\Users\琴\.gitconfig新建用户信息,在所有仓库下都可以使用
      命令:git config --global user.name '名字'
            git config --global user.email '邮箱'
4.把工作区内容提交到暂存区---红色变绿色
  git add 文件名----提交该文件
  git add .----提交所有工作区的文件
5.把暂存区的内容提交至版本库---绿色变无
  git commit -m '详细说明'
6.查看版本号---提交到版本库每次会生成唯一的版本号 
  git log---版本号全
  git reflog---版本号简短 精简显示
7.退回工作区内容发生变化之前(工作区内容发生变化变红后退回未修改前 不包含新增文件)
  git checkout .   ---退回当前所有的变化 不包含新增
8.从暂存区拉回工作区(绿变红)
  git reset HEAD
9.把版本库内容拉回暂存区(提交后无变化--绿色)
  git reset --soft  回退至上一个版本号(变绿)
10.从版本库拉回工作区(提交后无变化--红色)
   git reset --版本号(从红色--绿色--版本库提交的版本号--如果之间还做过别的操作需要找到对应的版本号)
   git reset --mix 版本号
11.回退到被版本管理的最后版本(最开始第一次提交到版本库的版本)
   git resert --hard 版本号
注:1.简略显示状态:git status -s
    2.空文件夹不会被git记录
    3.如果删除当前仓库的用户 就会使用全局配置的系统用户 没有配置的话会报错
    4.查看时间点之间|之后的日志:
      git log --after 时间  # 查看某个时间之后
      git reflog --after 时间
      git log --before 时间  # 查看某个时间之前
      git reflog --before 时间
    5.查看制定开发者日志
      git log --author author_name
      git reflog --author author_name
    6.回滚到上一个版本
      git reset --hard HEAD^
      git reset --hard HEAD~
    7.回滚到上三个版本
      git reset --hard HEAD^^^
      git reset --hard HEAD~3
    8.回滚到指定版本号的版本
      git reset --hard 版本号
    9.git log与git reflog的区别
      git log :命令可以显示所有提交过的版本信息如果感觉太繁琐,可以加上参数  --pretty=oneline,只会显示版本号和提交时的备注信息
      git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
    10. git reset --hard,--mix,--soft的区别
       git reset --hard:(硬)-> 全部删除,会彻底返回到回退前的版本状态
       git reset --mix:了无痕迹mixed (中)-> 保留工作目录,文件回退到未commit的状态
       git reset --soft:(软)-> 保留工作目录、暂存区 ,文件会回退到未 add(未到暂存)的状态总结:soft是撤销commit的提交,但工作区未提交的更改还是保留;mixed是撤销暂存区的提交,工作区的更改同样也保留;而hard是把工作区、暂存区、commit到仓库的三个版本都回滚了

git过滤文件

1.针对不需要被版本管理的文件或文件夹需要进行过滤处理
2.在仓库中新建.gitignore[没有任何后缀名的文件]文件
  2.1 在仓库的根目录下创建该文件
  2.2 文件与文件夹均可以被过滤
  2.3 文件过滤语法:
        """ 过滤文件内容
        文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
        /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

        eg:
        a.txt:项目中所有a.txt文件和文件夹都会被过滤
        /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
        /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
        *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
        空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)
        """
 注:针对luffy后端项目要被git管理
    # 在项目路径下敲git init
    # 创建 .gitignore
    # git add .   
    # git commit -m '初始化项目'

git多分支开发

1.多分支开发:通过分支,更方便协同开发,管理版本
2.分支操作:
  2.1 查看分支:*和绿色表示当前所在的分支 
      git branch
  2.2 创建分支:
      git branch 分支名(如 dev)
  2.3 切换分支:
      git checkout 分支名(dev)
  2.4 删除分支:不在该分支下才能删除该分支
	  git branch -d 分支名(dev)
  2.5 合并分支:可能存在冲突
       如把dev分支合并到master上
       回到master上 开始执行代码
       git merge dev
  2.6 查看远程分支:
       git branch -a

git远程仓库

1.远程仓库:
  1.1 gitub---全球最大的开源软件仓库(在国外--慢)
  1.2 gitee---国内最大的开源软件仓库(快)
  1.3 gitlab---公司内部使用---自己搭建
      搭建步骤网址:https://zhuanlan.zhihu.com/p/413217715
  1.4 开源协议:GPL、Apache
 	  -linux:GPL,自由使用开源的软件,修改,增加内容,可以收费,但是你的代码必须开源
      -Kafka。。。:Apache,可以使用开源软件,但必须注明使用了
2.gitee的操作步骤:
  2.1 注册登录(官网)
  2.2 新建远程仓库---写仓库名
      本地仓库--已被版本管理---远程仓库为空:把本地代码上传到远程仓库
        1. 设置用户名和邮箱:设置远程仓库
           git config --global user.name "用户名"
           git config --global user.email "邮箱"
        2.新增一个远程仓库
          git remote add origin 远程仓库地址(一般用ssh 需要设置秘钥和公钥--将公钥维护至gitee中)
            git remote add origin https://gitee.com/violin1/luffy_api.git
        3.把本地代码推到远端仓库:
          git push 仓库地址对应的分支名(origin) master
          注:第一次推需要输入gitee的账号和密码(针对https  如果是ssh需要写一下确认)
             在凭证管理中可以删除和修改用户名及密码
   2.3 ssh链接远程仓库
       1.本地仓库和远程仓库建立关系时,建立的是https的链接,公司一般用ssh的链接
       2.https和ssh的区别
         https:输入用户名密码,保存在凭据管理中
         ssh:配置公钥私钥
            -生成公钥私钥
            -把公钥放到gitee上
            -配好远程仓库,以后直接提交,不需要输入任何秘钥的东西
      3.ssh的配置步骤(网址:https://gitee.com/help/articles/4181)
        cmd命令行中,ssh-keygen -t ed25519 -C "[email protected]"
        一路回车,会在【C:\Users\琴/.ssh】文件夹下生成公钥和私钥
    	ssh-keygen -t ed25519 -C "[email protected]" 
        生成一个公钥,一个私钥
        id_ed25519  #私钥,千万不能泄露
        id_ed25519.pub #公钥,可以给任何人
        把公钥配置在gitee的配置文件中
      4.从hpps转换为ssh:
        -先删除origin 对应的https的链接:git remote remove origin
        -查看一下,没有了:git remote
        -配置成ssh的地址
        git remote add origin git@[email protected]:violin1/luffy_api.git
        -以后直接拉去,提交代码即可
        git pull origin master
        git push origin master
 3.将路飞项目推送到远程仓库(针对非空)
   3.1 创建远程仓库luffy_api
   3.2 将远程仓库已有数据拷贝下来:git clone 地址
   3.3 把项目代码拷贝到有远程仓库数据的文件中(.git文件夹不要copy)
   3.4 将被管理的文件从工作区提交至暂存区---git add .
   3.5 从缓存区提交至版本库---git commit -m '项目初始化'
   3.6 从本地版本库推送到远程仓库---git push origin master
   3.7 以后完成项目的某个功能执行--git add.和git commit -m '详细说明'
       针对多人协调开发 可能在推送远程仓库时造成冲突 在每次推送前先拉下远程仓库的代码 保证本地版本库与远程仓库保存一致 避免冲突(可以每个二到三小时拉取一次)
       拉取代码:git pull origin master
       推送到远程仓库:git push origin master
        

协同开发

1.仓库管理员将我们加入到项目开发者
  -要么给你个链接,点一下
  -要么直接添加你
2.进入自己仓库中就可以看到这个开发的项目
  -把项目clone下来:git clone [email protected]:liuqingzheng/luffy_api.git
  -用pycharm打开,就可以开发了,开发完新功能
   命令:git add .---git commit -m'详细说明'---git pull origin master---git push origin master
[email protected]:xieming6/myfirst.git

标签:git,--,gitee,---,仓库,版本,远程
From: https://www.cnblogs.com/040714zq/p/16937371.html

相关文章

  • 题解 CF1253B
    题解CF1253B这个题是一个模拟题只需要注意几点:1.同一天同一个人只能进入一次2.同一天同一个人只能出去一次3.一天中一个人没进来就不能出去然后我们用vis数组......
  • 题解 CF1711B
    题解CF1711B这个题说明了,蛋糕的个数只跟好友的对数有关,跟去的人或者是单个的人的个数是无关的(是不是单个的人去没有蛋糕吃)所以我们就要考虑,怎样才能满足吃掉的蛋糕正好......
  • .net 7 获取所有缓存键的问题?
    这里是群友提供听说是issue提的问题,高手回答的。varcoherentState=_cache.GetType().GetField("_coherentState",BindingFlags.NonPublic|BindingFlags.Instance);......
  • 题解 CF1740D
    CF1740D这个题说实话比\(C\)题要好想/jk,但是我没有在考场上写出来,写出来了但是没交上这个题只需要记录一下终点当前时刻,需要放置下标的棋子(姑且叫它棋子),以及当前棋盘上......
  • 哲学
    我认为学习哲学,要从观念本身学起。哲学涵盖的范围太广,一篇文章说不完,但它跟我们的生活是息息相关的,我甚至认为哲学可以解决这世界上所有的问题,我并非哪一门派的宗教信徒,但......
  • OpenLayer——模拟
       <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><linkhref="ol/ol.css"rel="stylesheet"type="text/c......
  • 无论怎样神树大人都会删库跑路
    首先看到这个\(Q\)\(1e9\)的范围和\(R_i\)下标的取模操作,便知道这个东西有循环节,因此稍微思考一下便可以求出循环节,但注意,字符串的首尾两个特殊位置是不在循环内的,需......
  • day02--变量,常量
    变量Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域。变量作用域publicclassdemo01{......
  • Kubernetes(K8S) Controller - Deployment 介绍
    什么是controller实际存在的,管理和运行容器的对象Pod和Controller关系Pod是通过Controller实现应用的运维,比如伸缩、滚动升级等等Pod和Controller之间通过la......
  • Jmeter——结合Allure展示测试报告
    在平时用jmeter做测试时,生成报告的模板,不是特别好。大家应该也知道allure报告,页面美观。先来看效果图,报告首页,如下所示:报告详情信息,如下所示:运行run.py文件,运行成功,如......