This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
git [2021/02/24 14:37] jordan |
git [2023/03/08 16:09] (current) xujianglong ↷ Page moved from 内部资料:git to git |
||
---|---|---|---|
Line 1: | Line 1: | ||
Git作为VCS(Version Control System)的一种,与另一个比较有名的svn的最大区别在于Git是分布式,svn是集中式。具体来说,Git不分服务器端和客户端,只有远程仓库和本地仓库,两者完全平等,因此,Git可以离线查看日志和提交代码。 | Git作为VCS(Version Control System)的一种,与另一个比较有名的svn的最大区别在于Git是分布式,svn是集中式。具体来说,Git不分服务器端和客户端,只有远程仓库和本地仓库,两者完全平等,因此,Git可以离线查看日志和提交代码。 | ||
+ | |||
+ | ====== Git操作最佳实践 ====== | ||
+ | |||
+ | * 每次完成一个最细粒度的功能点或者每修复一个bug就提交一次代码 | ||
+ | * 代码提交的message最好写对应的任务编号加任务描述(如果有任务管理系统的话) | ||
+ | * 每天早上pull一次代码,每天晚上pull并push一次代码,其他在有需要的时候pull push代码 | ||
+ | * 未完待续.. | ||
====== 新手入门 ====== | ====== 新手入门 ====== | ||
Line 14: | Line 21: | ||
===== 常用操作 ===== | ===== 常用操作 ===== | ||
- | {{: | + | {{: |
- | * Clone远程仓库(repository):'' | + | * Clone远程仓库(repository):'' |
- | * 添加untracked file:'' | + | * 添加untracked file:'' |
- | * 提交tracked files:'' | + | * 提交tracked files:'' |
- | * 推送到远程仓库:'' | + | * 推送到远程仓库:'' |
- | * 获取最新修改:'' | + | * 获取最新修改:'' |
- | * 查看工作区状态:'' | + | * 查看工作区状态:'' |
- | * 查看日志:'' | + | * 查看日志:'' |
- | * 回收未提交代码:'' | + | * 回收未提交代码:'' |
- | * 恢复未提交代码:'' | + | * 恢复未提交代码:'' |
- | * 放弃所有未提交代码(不含新增文件):'' | + | * 放弃所有未提交代码(不含新增文件):'' |
- | * 切换分支:'' | + | * 切换分支:'' |
- | * 退出git pull时跳转后的消息页面,直接输入'' | + | * 退出git pull时跳转后的消息页面,直接输入'' |
===== git生成并添加ssh公钥方法 ===== | ===== git生成并添加ssh公钥方法 ===== | ||
- | *详见连接: http:%%//%%git.mydoc.io/? | + | *详见连接: http:< |
===== Git打包不同分支的修改 ===== | ===== Git打包不同分支的修改 ===== | ||
- | < | + | < |
- | < | + | |
- | </ | + | |
- | 暂未找到打包为zip文件的方法 | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | 本方法用于提交包含目录结构的近期修改,例如打包包含目录结构的自上次发布以来的所有修改,以用于增量更新等。 | + | |
- Git切换到需要打包的分支 | - Git切换到需要打包的分支 | ||
- | - 使用命令打包文件,'' | + | - 使用命令打包文件,'' |
===== Git命令行如何记住密码 ===== | ===== Git命令行如何记住密码 ===== | ||
Line 56: | Line 56: | ||
git config --global --unset-all credential.helper | git config --global --unset-all credential.helper | ||
sudo git config --system --unset-all credential.helper | sudo git config --system --unset-all credential.helper | ||
+ | |||
</ | </ | ||
+ | ====== Git分支管理 ====== | ||
- | ====== Git flow ====== | + | ===== 为什么要使用Git分支管理 |
- | [[http:// | + | |
+ | | ||
+ | | ||
- | [[https://www.atlassian.com/git/tutorials/ | + | ===== 为什么用Git Flow进行分支管理 ===== |
+ | |||
+ | - Git Flow自动化分支管理,基于哪个分支开新分支,如何合并分支,都有标准化流程 | ||
+ | - Git Flow得到了大多数工具的支持,例如命令行、Source Tree、IntelliJ Idea等 | ||
+ | - Git Flow是分支流程管理规范,也是工具,通过工具规范化便捷化分支管理 | ||
+ | |||
+ | ===== Git Flow基本教程 ===== | ||
+ | |||
+ | {{https://nvie.com/img/git-model@2x.png| img}} | ||
+ | |||
+ | 使用举例: | ||
+ | |||
+ | - 开发新功能:git | ||
+ | - 修复线上bug: | ||
+ | - 发布新版本: | ||
+ | |||
+ | ===== Git Flow详细教程 ===== | ||
[[https:// | [[https:// | ||
- | ===== Git flow 常见问题 ===== | + | [[http:// |
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | ===== Git Flow 常见问题 ===== | ||
==== 使用Git flow进行分支管理,是否需要执行git commit和git push等操作? ==== | ==== 使用Git flow进行分支管理,是否需要执行git commit和git push等操作? ==== |