Git 工作原理详解(附:常用 Git 命令)

Git 简介:

  • git是一个分布式管理系统 ( 分布式: 在客户端和服务端都具有版本控制能力 )
  • 作用: 管理源代码
    • 方便多任协同开发
    • 方便版本控制 ( 可以以最快的速度恢复到指定版本 )
  • 仓库:
    • 在我们文件中如果有.git文件夹, 即标记着代码仓库已经建立
    • .git 同级目录下的文件都会被管理起来

Git 原理图:

 

常用命令:

git init

初始化一个本地仓库

git config user.name '用户名'        

配置用户名, 不配置默认使用全局配置.gitconfig

git config user.email '邮箱'

配置用户邮箱

git clone [跟上要克隆的仓库地址]

克隆远程仓库到本地仓库

git staus        

查看git仓库状态

git pull        

远程拉取项目文件( 修改项目之前,一定要拉取最新的代码 )

git add .        

添加工作区所有文件至git暂存区( 修改后添加动作 )

git commit -m '版本描述'        

将暂存区文件提交到仓库区, 生成一个版本

git push        

将修改后的代码推送到远程仓库

git log        

查看详细历史记录, 不能查看已删除的commit记录

git reflog        

查看历史记录

git reset --hard HEAD

或 git reset --hard 版本号

当前最新版本

( 以下介绍两种方式 )

git reset --hard HEAD^        

当前最新版本 的 前一个版本

git reset --hard HEAD~1        

当前最新版本 的 前一个版本

git reset --hard HEAD~10

当前最新版本 的 前十个版本

git checkout 文件名

撤销工作区代码(只能作用在工作区和暂存区)

git reset HEAD 文件名

git checkout 文件名

第一步: 将暂存区代码恢复到工作区

第二部: 将工作区代码撤销

git diff HEAD -- 文件名

对比 版本库 与 工作区 中的代码

git diff HEAD HEAD^ -- 文件名

对比 版本库 与 版本库 中不同版本的代码

rm 文件名

git rm 文件名

git commit -m '删除描述'

第一步: 删除本地工作区文件

第二步: 删除暂存区文件(确认删除操作)

第三步: 将删除操作提交到版本库

如果不想删除了, 在commit之前执行git checkout  --  文件名

git tag -a v1.0 -m 'version 1.0'

git push origin v1.0

git tag -d 标签名

git push origin --delete tag 标签名

在本地打标签v1.0是标签名

推送标签到远程仓库

删除本地标签

删除远程仓库标签

git branch

git checkout -b dev

git push -u origin dev

git branch -d dev

git branch 分支名 版本号

查看git分支

创建并切换dev分支

设置本地分支跟踪到远程分支dev

删除已经终止的分支

恢复指定版本的分支

git check master

git merge dev

git push

切换到master主分支

将dev分支合并到master分支

将本地合并后的状态推送到远程仓库

命令使用总结:

  • 要使用git命令操作仓库,需要进入到仓库内部
  • 要同步服务器代码就执行:git pull
  • 本地仓库记录版本就执行:git commit -am '版本描述'
  • 推送代码到服务器就执行:git push
  • 做项目之前先clone,编辑代码前要先pull,编辑完再add,再commit,最后推送是push

代码冲突:

  • 原因: 多人同时修改了同一个文件
  • 注意: 一旦出现冲突, 必须先解决在做后续开发
  • 解决代码冲突:
    • 原则: 谁冲突谁解决, 且要协商解决
    • 方案: 保留所有代码, 或者保留某一人的代码
    • 解决完冲突代码后, 依然需要add, commit, push
  • 容易冲突的操作方式:
    • 多个人同时操作了同一个文件
    • 一个人一直写不提交
    • 修改之前不更新最新代码
    • 提交之前不更新最新代码
    • 擅自修改同事代码
  • 减少冲突的操作方式:
    • 养成良好的操作习惯,先pull在修改,修改完立即commit和push
    • 一定要确保自己正在修改的文件是最新版本的
    • 各自开发各自的模块
    • 如果要修改公共文件,一定要先确认有没有人正在修改
    • 下班前一定要提交代码,上班第一件事拉取最新代码
    • 一定不要擅自修改同事的代码
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值