zoukankan      html  css  js  c++  java
  • git的基本操作

    一、git基本概念


    参考资料:https://www.cnblogs.com/xiaonq/p/8192008.html#i1

    1. 常见版本管理工具

    • git
      • git是分布式的,每一个安装git环境的机器都有线下的版本仓库
      • 开发者无需把代码提交到线上仓库(GitHub、gitee、gitlab)
    • SVN
      • SVN是一个集中的版本管理工具
      • 开发者必须把代码提交到SVN服务器,本地没有版本仓库

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    2. 线上仓库

    多人协作开发时,会管理代码

    • github / gitee
    • svn

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    3. git原理

    • 工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
    • 暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
    • 版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    二、gitee中使用


    # Git 全局设置: 
    git config --global user.name "110" 	#自己的gitee用户名
    git config --global user.email "5462539+xiaonq110@user.noreply.gitee.com"	#邮箱
    
    
    # 创建 git 仓库: 
    mkdir git_test 						#创建一个文件夹
    cd git_test 
    git init 		   					   #初始化本地仓库
    touch README.md						#创建一个文件
    git add README.md 						#将工作区的文件提交到暂存区/舞台区
    git add .								#添加所有文件到暂存区
    
    git commit -m "first commit"				  # 提交暂存区的文件到本地版本仓库
    git commit -m "提交备注"
    
    
    git remote add origin https://gitee.com/eduworkflow/git_test.git	#关联一个远程库
    
         
         
    git push -u origin master			#Git会把master分支推送到远程库对应的远程分支上
    
    # 已有仓库? 
    cd existing_git_repo 
    git remote add origin https://gitee.com/eduworkflow/git_test.git 
    git push -u(第一次要用-u 以后不需要) origin master	#把当前master分支推送到远程库
    
    
    

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    三、git常见命令


    1. 简单提交

    git add xxx.txt # 蒋文件提交到暂存区 
    git commit -m 'xxx' # 蒋代码提交到本地版本仓库 
    git status # 看到未提交到仓库的修改文件(工作区、暂存区) 
    git log	#查看日志
    

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    2. 回滚

    git log 				#查看所有提交到仓库的版本记录: git log -2 
    git reflog 			#查看所有操作记录(状态的md5值和改变的值) 
    git reset --hard d9e0ed0   #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7 位)
    git reset --hard HEAD^ 	  #回到上一个版本
    

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    3. 撤销修改

    vim Readme 			#我们在Readme文件中写了一些错误的代码 
    git add . 			#然后又一不小心将文件从工作区提交到了 stage区 
    git reset HEAD Readme 	  #将Readme中刚提交到 stage区 的代码撤回到工作区 
    git status 			#查看目前工作区状态 
    git checkout -- Readme 	  #将Readme在工作区错误的代码丢弃
    

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    4.强制使用master覆盖本地代码

    git fetch --all 
    git reset --hard origin/master 
    git pull
    

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    四、git分支管理


    1. 分支管理概念

    • master 主分支,稳定代码,为生产环境做准备的
    • develop 开发分支,为开发服务

    (~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    2.分支使用

    '''1. 从master分支切换到dev分支进行开发''' 
    git checkout -b dev master 	# 从master分支创建dev开发分支 
    git branch 			  # 可以看到现在已经切换到dev分支了 
    vim Readme 			  # 模拟在项目中修改代码 
    git add .				  # 把工作区中所有变更全部提交到(暂存区) 
    git commit -m 'in dev'	    # 把暂存区代码提交到本地git仓库(本地git仓库) 
    git push origin dev 	    # 把代码先推倒dev分支,让测试人员测试
    '''2. 当测试人员测试完成后将dev分支代码合并到master形成文档版本''' 
    git checkout master 	# 开发完成后,需要合并回master分支,先切换到master分支 
    cat Readme 		   # 可以看到master分支的内容没有修改 
    git merge --no-ff dev	# 将刚刚dev中修改的代码合并到master 
    git push origin master   # 将本地仓库的代码推送到线上仓库(线上git仓库)
    
  • 相关阅读:
    深度学习[numpy实现]:深度学习模型的通用步骤
    手写数字识别[paddle框架]:1.数据处理
    Lesson3-基于神经网络方法求解RL
    Lesson2 基于表格法求解RL
    nginx和uwgsi设置
    CentOS 7.6.8 最小化安装后,安装Mysql5.7
    CentOS 7.6.8 最小化安装后,安装Python3.7.2
    excel查找一行中一个单元格的值,返回前一个单元格值的公式
    test_title
    os.system()、os.popen()和subprocess的区别(一)
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/14118677.html
Copyright © 2011-2022 走看看