Git的基础知识

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

Git原理

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

部分常见指令

指令 含义
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 -f git回滚到某个版本
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.csdn.net/nongweiyilady/article/details/77772602

你可能感兴趣的:(开发工具,git)