Git 命令
- git clone 「address」 「name」 以指定名称克隆仓库
- git log 打印历史commit
- --online 单行打印commit
- -「number」 打印的commit数量
- --graph 以图形化的方式打印commit
- gitk 以图形化界面展示历史commit
- git mv 「fileName」 「fileName」 变更文件名
- git rm 「fileName」 删除文件
- git checkout
- 「branch」 创建新分支
- -b 「branch」 「origin/branch」 从某某分支中创建新分支并跳转到新分支
- -- 清除工作区全部的变更
- -- 「fileName」 清楚工作区指定文件变更
- 「commit」 分离头指针状态
- git switch -c 「branch」 切换当前更改到新分支或者回到原分支
- git branch -D 「branch」 删除分支
- git diff 比较工作区与暂存区的变更
- 「--cached」 暂存区与HEAD的变更
- 「commit」 「commit」 比较两次commit的变更
- -- 「fileName」 比较指定文件的变更
- git commit --amend 修改最新一次提交的message
- git remote 「name」 「file://」「url」 以指定协议设置指定地址为仓库
- git reset
- --hard 不将代码恢复到工作区
- 「commit」 将分支回退到某一个commit上
- HEAD 将暂存区的变更恢复至HEAD一致
- git rebase -i 「commit」 变基,可用于合并多次提交、更改commit的message
- git stash
- save 「message」 暂存当前工作区的内容
- pop stash@「number」 返回指定的暂存内容
- git push -f origin 「commit」:「branch」让远端分支指向指定commit
Git 知识
- HEAD指向当前分支的最新一次提交
- HEAD可以增加^^ ~number参数代表前几次提交
- .git/config 中保存着当前git仓库的配置,可以进行修改。
- ahead 「number」, behind 「number」 领先几个提交,落后几个提交
- 不要对集成分支进行rebase操作
- github搜索支持关键词搜索,例如in:readme,created,stars:>1000,language,filename:gitlab-ci.yml,详情可以看github help页面的资料
- organization team
- MIT LICENSE
- 牛逼的团队用主干开发,大部分用特性分支开发。
- 虽然没有squash命令但是 可以通过rebase来实现
- issue
- project 看板
- setting设置相关code Review
- github集成
- merge处理冲突比rebase好用
- 在线上处理冲突时,github和gitlab会将「被合入分支」合并进「要合入的分支」,然后处理冲突达到fast forwards
- 三种合并策略。1、merge。2、squash。3、rebase。
- releases ?
- 为什么国内喜欢gitlab:1、提供了开源的社区版本,可以自己二次开发。2、迭代快。3、自带CI功能。(仅次于jekins)
- gitlab CI需要gitlab.ci.yml文件配置,配置信息去官网可查。还需要Runners跑,才能用CI。相当于一个代理。
- 有时间可以去看看gitlab EE 开源项目
- AWS 公有云 Docker 容器
- 持续集成需要有公有云相关配置