Git的基础知识

Git的两个核心特征是:去中心化、记录快照而非差异比较

Git原理

Git的工作区就是保存在电脑上的实体文件夹;stage称为暂存区,add时添加到里面;master是主分支,而HEAD可以理解为一个指针,指向当前的版本。
参考图:
在这里插入图片描述

部分常见指令

指令含义
git branch查看分支
git branch name创建分支
git checkout name切换分支
git checkout -b name创建+切换分支
git merge name合并某分支到当前分支
git branch -D xxx删除本地分支
git push origin --delete xxx删除远程分支
git diff xxx1 xxx2 --stat对比2个版本之间的改动
git co .修改了代码后,想去掉修改
git reset HEAD .修改了代码后,add了,但想撤回
git reset —hard xxxxxxxxx修改了代码后,add并commit了,但想撤回
git reset --hard xxxgit push -fgit回滚到某个版本
git stashgit co xxxgit stash pop暂存写好的部分,再切换分支

注意点

  1. 合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并;而fast forward合并就看不出来曾经做过合并。
  2. Git切换分支的时候,最好保持一个干净的工作区。
  3. 切换到主分支上新建分支时,一定要及时pull!!!

Git最佳实践

  1. 要经常提交(细粒度地提交)
  2. 将功能分成很多小块,每次全部完成某个小块时再提交,不要还没完成就提交
  3. 如果没完成,而需要切换分支或pull操作,可以先stash一下
  4. 提交(commit)之前要确保已有的代码测试通过,且不影响到其它代码
  5. 提交message要说明,为何变更以及和之前的区别,用现在时态
  6. 版本控制与备份有区别,应当遵循前面5条实践规则,而不要仅仅把它当做备份的工具
  7. 要经常使用branch,比如开发的新特性分支、修改的bug分支等等
  8. 工作流程的规则要保持一致,至少要和团队一致
Git提交时的hook相关

参考:https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

解决git pull/push每次都需要输入密码问题

参考:https://blog.youkuaiyun.com/nongweiyilady/article/details/77772602

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值