使用Git的应知应会

简介

  • Git 是目前世界上最先进的分布式版本控制系统(没有之一)
  • 作用:源代码管理 — 方便多人协同开发和版本控制
  • 简化工作图
    在这里插入图片描述

工作区暂存区和仓库区

在这里插入图片描述
工作区

  • 对于添加、修改、删除文件的操作,都发生在工作区中

暂存区

  • 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分

仓库区

  • 仓库区表示个人开发的一个小阶段的完成
    • 仓库区中记录的各版本是可以查看并回退的
    • 但是在暂存区的版本一旦提交就再也没有了
Git单人本地仓库操作

以Ubuntu为例

  1. 安装git
sudo apt-get install git
  1. 查看git安装结果
git
  1. 创建项目
mkdir  Desktop/test/
  1. 创建本地仓库
cd Desktop/test/
git init
  1. 配置个人信息
# 配置个人信息后可以在 .git目录中config可以看到
# 默认不配置的话,会使用全局配置里面的账户信息,全局git配置文件路径:~/gitconfig
git config user.name 'xxx'
git config user.email 'xxxx@xxx'
  1. 新建文件
touch demo.py
  1. 查看文件状态
git status
  1. 将工作区文件添加到暂存区
git add .  # 添加所有文件
git add filename	# 添加指定文件
  1. 将暂存区提交到仓库区
git commit -m "msg"		# msg为版本内容描述
  1. 在文件中编辑代码
# 在demo.py 中添加  print(hello git)
git commit -am "msg"
  1. 查看历史版本
git log
# 或者
git relog

"""
git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
git log 则不能察看已经删除了的commit记录
"""
  1. 回退版本
"""
方案一:
	HEAD表示当前最新版本
	HEAD^表示当前最新版本的前一个版本
	HEAD^^表示当前最新版本的前两个版本,以此类推...
	HEAD~1表示当前最新版本的前一个版本
	HEAD~10表示当前最新版本的前10个版本,以此类推...
"""
git reset --hard HEAD^


"""
方案二:
"""
git reset --hard 版本号
  1. 撤销修改
  • 只能撤销工作区、暂存区的代码,不能撤销仓库区的代码
  • 撤销仓库区的代码就相当于回退版本操作
"""
撤销工作区代码
"""
git checkout 文件名

"""
撤销暂存区代码
"""
# 1.将暂存区代码撤销到工作区
git reset HEAD 文件名
# 2.撤销工作区代码
git checkout 文件名

Git远程仓库Github

  1. 创建远程仓库
    以下操作演示在Github网站上创建远程仓库,其他类似的git代码管理工具操作都是一样的
    在这里插入图片描述
  • 编辑仓库信息
    在这里插入图片描述
    在这里插入图片描述
  • 查看仓库远程地址
    查看远程仓库地址
  1. 配置SSH
  • 配置SSH公钥
    Settings —> SSH and GPG keys —> New SSH key
# 配置全局github注册邮箱和用户名
vi .gitconfig
"""
[user]
   email = xxxx@xxx
   name = xxxx
"""

# 生成SSH公钥
ssh-keygen -t rsa -C "xxxx@xxx"

在这里插入图片描述

  • 配置SSH公钥
    在这里插入图片描述在这里插入图片描述
  • 补充:删除旧的密钥
    • 删除 ~/.ssh 目录,这里存储了旧的密钥
rm -r .ssh
  1. 克隆项目
cd Desktop/manager/
git clone https://github.com/zhangxiaochuZXC/test007.git


# 配置身份信息 -- 可略此步,用全局身份信息
cd Desktop/manager/test007/
git config user.name '经理'
git config user.email 'manager@163.com'
  1. 多人协同开发
# 修改代码之后
git commit -am '第一个变量'
git push

# 工作之前
git pull
git commit -am "msg"
git push
  1. 代码冲突
  • 容易冲突的操作方式
    • 多个人同时操作了同一个文件
    • 一个人一直写不提交
    • 修改之前不更新最新代码
    • 提交之前不更新最新代码
    • 擅自修改同事代码
  • 减少冲突的操作方式
    • 养成良好的操作习惯,先pull在修改,修改完立即commit和pus
    • 一定要确保自己正在修改的文件是最新版本的
    • 各自开发各自的模块
    • 如果要修改公共文件,一定要先确认有没有人正在修改
    • 下班前一定要提交代码,上班第一件事拉取最新代码
    • 一定不要擅自修改同事的代码
  1. 标签
# 本地打标签
git tag -a v1.0 -m 'version 1.0'

# 推送标签到远程仓库
git push origin 标签名
例:
git push origin v1.0

# 删除本地标签
git tag -d 标签名
# 删除远程仓库标签
git push origin --delete tag 标签名
  1. 分支
# 查看当前分支
git branch
# 切换分支
git checkout -b dev
# 设置本地分支跟踪远程指定分支(将分支推送到远程)
git push -u origin dev

"""
将代码合并到master分支
"""
# 切换到master分支
git checkout master
# dev分支合并到master分支
git merge dev
# 合并分支默认在本地完成,合并后直接推送即可
git push
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值