首页 > 其他 > 详细

Git使用

时间:2021-07-23 16:04:37      阅读:35      评论:0      收藏:0      [点我收藏+]

1. 版本控制系统

追踪项目的整个过程,用于查阅项目历史操作记录、实现协同开发

  • 版本控制类型
    • 集中式版本控制工具SVN:  版本参仓库集中存放在中央服务器,每个工作人员须从中央服务器下载代码,修改并提交到中央版本仓库,提交过程需要联网
    • 分布式版本控制工具Git:每个人的电脑上都是一个完整的版本仓库,多人协作只需要个字修改开发,联网将整个版本仓库推送给对方

2. Git--The stupid content tracker

开源分布式版本控制系统,可有效高速的处理项目版本管理,速度简单的设计,对非线性开发模式的强力支持,允许多个并行开发的分支,完全分布式的处理,高效管理项目部署

  • 工作流程图
    • 本地仓库与远程仓库的直接交互
      • clone 克隆,第一次操作时需要从远程仓库中克隆代码到本地仓库
      • push推送,代码完成后将代码推送到远程仓库
      • pull拉取,从远程仓库拉代码到本地仓库,自动进行合并merge,最后放到工作区
    • 本地仓库操作
      • checkout检出,将本地仓库的内容检出到工作区
      • add添加,提交前先将代码提交到暂存区
      • commit提交,将代码提交到本地仓库
  • 基本概念
    • 本地仓库:在本地主机上的一个代码库,可以独立存在,也可以与远程仓库关联
    • 工作区:对任何文件的修订都先放在工作区,工作区不与任何仓库分支进行关联
    • 暂存区:把修订的文件从工作群经add添加后与某一个仓库分支进行关联,只有进入暂存区的文件才能commit给本地仓库
    • 远程仓库:在局域网或互联网的一个主机,用于存放代码库的主机或平台,如GitHub,码云
    • 分支:代码存放在仓库,默认是主分支master,可以在主分支基础上创建很多子分支,如develop,test等
    • 一个文件夹包含.git隐藏目录,说明此文件目录使用Git版本管理,.git存储了很多配置信息、日志信息和文件版本信息、暂存区信息等。index文件就是缓存区,也可以叫stage,用于临时保存修改文件
    技术分享图片

3. Git基本配置

  • 全局设置,默认保存在.gitconfig文件中,存放在用户目录下
    • git config -global user.name "name" 设置全局用户名
    • git config --global user.email "your email"  设置邮箱
  • 构建本地仓库
    • 本地初始化
      • 在任意位置创建空目录作为本地仓库
      • 点击Git bash窗口,执行git init命令,如果有.git文件夹,说明建仓成功
    • 远程仓库克隆
  • 查看配置信息  git config -list
  • 操作本地仓库
    • 查看当前文件状态:git status [-s]
    • 文件添加到暂存区:git add .
    • 暂存区文件提交到仓库: git commit -m “提交备注信息”
    • 查看提交历史记录git log ,可以看到每次提交的ID都是一个40位的字符串:git log --pretty=oneline # 单行显示提交历史记录的内容
    • 回退特定版本:git reflog  或 git reset --hard ‘指定版本’
    • 删除文件:在文件未添加到暂存区之前,可以直接物理删除,如果已经被提交,需要 git rm 删除已经提哦啊到版本库的文件。
    • 添加文件到忽略列表,在工作目录中创建一个名为.gitignore的文,列出要忽略的文件
  • 分支管理:将工作从开发主线上分离,用于进行重大的bug修改、新功能开发等,不影响开发主线
    • master分支,主分支
    • test分支,测试分支,进行预发测试
    • develop分支,从test创建分支,如果没有,从master创建分支,作为主要的开发分支
    • hotfix(bugfix)分支,作为线上bug修复使用,修复完成后需要合并到master、test、develop分支
    • 查看分支,带* 的分支表明当前所在分支
# 查看本地分支信息
git branch
# 查看相对详细的本地分支信息
git branch -v
# 查看包括远程仓库在内的分支信息
git branch -av
    • 创建分支 git branch 分支名
    • 切换分支 git checkout 分支名
    • 创建并切换分支 git checkout -b dev
    • 合并分支 git merge  现分支 ,默认河目标分支合并到主分支
    • 合并冲突 git add ./
    • 删除分支  git branch -d 分支名

4.  git远程仓库

  • 创建远程仓库:登录码元或GitHub账号点击create repository
  • 同步远程仓库:http不要配置,但是每次提交代码和下载时需要输入用户名和密码,而SSH配置好会产生密钥,无须再次配置
    • SSH协议:Secure Shell,将所有传输数据加密,需要先生成密钥,再在GitHub上配置公钥
    • 生成SSH密钥,使用Git Bash.exe执行ssh-keygen -t rsa ,window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥
    • key部分将id_rsa.pub文件内容添加进去,然后点击“Add SSH key”按钮完成配置 
  • 查看远程仓库 git remote -v
  • 添加远程仓库 git remote add origin your_remote_git_repo
  • 推送本地内容到远程仓库:第一次使用时,带上 -u 参数,在将本地的 master 分支推送到远程新的 master 分支的同时,还会把本地的 master 分支和远程的 master 分支关联起来
# 第一次推送时使用,可以简化后面的推送或者拉取命令使用
git push -u origin master
# 将本地 master 分支推送到 origin 远程分支
git push origin master
  • 从远程仓库获取最新内容
    git fetch origin master
    git pull origin master
    • fetch 仅仅获得远程昂库的最新内容,不会自动合并
    • pull会自动合并,相当于 git fetch 之后git merge
  • 移除无效的远程仓库git remote rm <shortname>
  • 从远处仓库克隆,将每一个文件的版本都克隆下来 git clone 地址
  • 从远处仓库拉取 git pull 远程仓库名 分支
  • 解决合并冲突 先拉取,在在工作区解决,在添加,在提交

5.在IDEA使用git

  • 初始化并提交项目到远程仓库
    • GitHub/码云中创建远程仓库
    • maven工程交给Git管理
    • 配置忽略文件
    • 提交本地仓库
    • 推送到远程仓库
  • 克隆远程仓库到本地
    • 从远处仓库克隆
    • 新建文件,文件标红说明未进入暂存区,添加后文件变绿
    • 编辑文件,文件变懒表明默认放在暂存区
    • 重置文件到修改前选择文件,右键菜单:选择Git--->Rollback
    • 提交到本地仓库,选勾号图标
    • 推送到远程仓库,一定要先拉取远程仓库对应分支,解决冲突,在提交到本地仓库,最后推送当前分支到远程仓库
    • 可以通过history查看历史修订信息



Git使用

原文:https://www.cnblogs.com/forever-fate/p/15048096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!