Git的正确使用姿势与最佳实践:团队协作和版本控制的最佳实践

Git是一个版本控制系统,用于跟踪和管理软件开发项目中的代码变更。它可以追踪文件的修改、添加和删除,并记录这些变更的历史。Git可以帮助团队成员协同开发,并提供了一种有效的方式来处理并发编辑和代码合并。 在这篇文章中,我们将介绍Git的正确使用姿势和最佳实践,以便更好地使用Git来管理代码进行团队协作。

一、Git基本概念

git本地有三个工作域:工作区(working directory), 暂存区(stage/index), 资源库(repository)。如果再算上远程服务器上的git仓库(remote directory)就可以分为四个工作域。其关系如下:

(一)四个工作区

  • Workspace: 工作区,就是你平时存放项目代码的地方
  • Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数 据。其中HEAD指向最新放入仓库的版本
  • Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

(二)工作流程

git工作的一般流程:

  1. 在工作目录中添加,修改文件
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到git仓库

(三)文件的四种状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文 件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可 进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即 从库中取出文件, 覆盖当前修改
  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

二、Git基本命令

  • git init :在当前目录下创建一个新的Git仓库。
  • git clone :从远程服务器上克隆一个Git仓库到本地。
  • git add filename :将文件添加到Git仓库的暂存区。
  • git commit :将暂存区中的文件提交到Git仓库。
  • git status : 查看仓库状态
  • git log :查看提交的历史记录
  • git reflog :查看对仓库的操作日志
  • git diff HEAD :比较当前内容与最后一次提交的版本的差异。
  • git checkout filename :放弃对工作区代码的修改。

三、Git分支的操作

在进行多个并行作业时,通常会用到分支。

  • git branch :列出当前所有的分支。
  • git checkout :切换到指定的分支。
  • git merge :将指定分支的代码合并到当前分支中。
  • git rebase :将当前分支的代码变到指定分支上。

四、Git 协作

  • git push :将本地Git仓库中的代码推送到远程服务器上。
  • git pull :从远程服务器上拉取最新的代码。
  • git fetch :从远程服务器上拉取最新的代码。
  • git merge :将远程分支的代码合并到本地分支中。

五、版本发布

每次发布稳定版本时,应该为该版本创建一个标签。标签可以用来标识特定版本的代码,方便日后查找和回溯。创建标签的步骤如下:

  • 切换到主分支:git checkout master
  • 拉取最新的代码:git pull origin master
  • 创建标签:git tag -a v1.0.0 -m "Release version 1.0.0"
  • 推送标签到远程仓库:git push origin --tags

六、远程仓库操作

  1. 生成通信密钥:ssh-keygen -t rsa -C "su@126.com" ,生成的公钥在/home/stu/.ssh/下,如下图。

 2.测试与github或者gitee(码云)有没有连通:

 测试github 的命令 :ssh -T git@github.com

 

 测试gitee 也就是码云的命令 :

3. 克隆项目:git clone 项目地址

4. 提交分支到远程仓库:git push origin 分支名

5. 提交分支到远程仓库,并跟踪分支 :git push -u origin 分支名

6. 拉取远程服务器上的分支更新到本地 :git pull origin 分支名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宠宠熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值