git及Gitlab使用
历史
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
- 2005年Linux的创始人Linus用两周时间用c写的开源免费的分布式管理系统。
基本使用
安装
- 基础设施研究中心:https://fdoc.epoint.com.cn:3366/?search=git
- 包管理winget:
- 任意网站
clone
git clone
复制远程仓库到本地仓库,一般一个仓库只用一次
add
git add .
git暂存区,介于版本库和工作目录的中间
commit
git commit -m ""
push
git push origin master
进阶使用
branch
git branch
## 切换分支
git checkout -b new branch
merge
git merge
git合并到主分支
rebase
git rebase -i <commit-hash>
squash
git rebase --continue
git push -f origin <branch-name>
rm
git rm --cached file-name
Gitlab及分支管理
生成非对称加密密钥
git config --global user.name 'gxhao'
git config --global user.email '1625546088@qq.com'
# 生成密钥(注意设置git账号密码
ssh-keygen -t rsa -C '1625546088@qq.com'
# 检测是否配置成功
ssh -T git@github.com
您的文章结构清晰,内容实用,对Git和GitLab的使用进行了系统性梳理,尤其适合初学者快速掌握关键操作。文章最突出的优点在于将技术概念与实际命令结合,例如通过历史背景说明Git的分布式特性,既解释了技术原理又体现了开源精神,这种“为什么”的思考比单纯罗列命令更有深度。同时,推荐的交互式学习资源(如learngitbranching.js.org)为读者提供了实践补充,这是非常有价值的补充。
关于改进空间,有几点建议:
git checkout -b new branch
中的空格会导致命令失败,应改为new_branch
(下划线)或连字符命名。类似地,git rebase -i <commit-hash>
缺少参数示例,建议补充具体commit-id格式。fdoc.epoint.com.cn
),外网用户无法访问,建议替换为通用安装指南(如官方文档或GitHub Pages)。git push -f
是强制推送,可能覆盖远程历史,建议加粗标注并提醒谨慎使用。文章的闪光点在于通过“暂存区-工作区-版本库”的对比,直观解释了Git的工作流,这种类比能帮助新手建立认知框架。若能进一步对比
merge
与rebase
的使用场景(如合并主分支代码时保留历史 vs 保持线性历史),将更深化读者对分支操作的理解。最后,关于代码块的语法高亮建议:Git命令通常使用
bash
语言标识而非jsx
,避免因高亮错误影响阅读体验。期待您后续扩展CI/CD流水线或GitLab Pages等实践案例,这将使文章更具延展性。这篇文章为读者提供了一个关于Git和GitLab的基本指南,涵盖了从安装到进阶使用的常见操作,并介绍了版本控制的一些核心理念。以下是对这篇博客的详细评论:
优点与核心理念
git clone
、git add .
、git commit -m ""
等),这对刚接触Git的用户非常有帮助。核心理念的支持
作者通过讲述Linus Torvalds创建Git的原因,强调了分布式版本控制系统的优越性(如无需联网即可工作),这与开源社区推崇的开放性和灵活性是一致的。这种对工具选择背后逻辑的解释,能够帮助读者更好地理解版本控制的价值。
闪光点的赞赏
git clone
、add
、commit
和push
这些基础命令,对于新手来说非常友好。改进建议
git rebase
部分,虽然提供了命令示例,但缺乏对rebase用途和潜在风险的说明。建议加入一些关于何时使用rebase以及如何处理冲突的内容。git rm --cached
命令后面可以补充一个场景说明:“当文件被意外提交到仓库后如何删除”。git clone
命令下可以写“用于克隆远程仓库到本地”。鼓励与扩展
这篇文章已经为读者提供了一个很好的起点,特别是在Git的基础使用方面。如果未来能够增加更多高级技巧(如解决merge冲突的最佳实践、如何管理大型项目的分支策略等),将会更有价值。
总之,这篇文章在结构和内容上都表现出色,既适合新手入门,也能为有一定经验的用户提供参考。期待看到更多类似的高质量技术文章!
首先,我要感谢您分享了这篇关于Git和Gitlab使用的博客。您的文章对于初学者来说是非常有帮助的。您详细介绍了Git的历史背景、基本使用方法、进阶使用方法以及Gitlab和分支管理等方面的内容。这使得读者能够更好地理解Git的重要性和如何使用它。
您文章中提到的Git的历史背景部分很有趣。了解Linux创始人Linus为什么要创建这个开源免费的分布式管理系统,以及他对CVS和SVN的反对,可以帮助读者更好地理解Git的核心理念和优势。
在基本使用和进阶使用部分,您提供了许多实用的Git命令,如clone、add、commit、push、branch、merge、rebase和rm等。这些命令示例对于初学者来说非常有用,可以帮助他们快速掌握Git的使用方法。
在Gitlab及分支管理部分,您详细介绍了如何生成非对称加密密钥以及主分支、dev分支、代码审查和ci/cd的相关内容。这些信息对于那些希望建立自己的代码仓库和进行团队协作的读者来说是非常有价值的。
然而,在文章中,我发现有一些小问题,但这并不影响整体质量。例如,在rebase部分,您提到了“git rebase -i <commit-hash>”,但未对commit-hash进行详细解释。对于初学者来说,可能会对此感到困惑。建议您在此处加入关于commit-hash的简要解释,以便读者更好地理解这个命令的用途。
总的来说,这篇博客对于初学者来说是非常有帮助的。我鼓励您继续分享关于Git和其他相关主题的文章。同时,也建议您在文章中对一些概念和命令进行更详细的解释,以便读者更好地理解和掌握这些知识。再次感谢您的分享!