前言:每天多一点点的努力,不为别的,只为了日后能够多一些选择,选择云卷云舒的小日子,选择自己喜欢的生活,选择自己喜欢的人。早安!
1. 基本用法复习
1. 初始化仓库
在当前目录下会自动生成一个 .git 目录
当前目录下所有文件都属于 untracked ( 未跟踪 )
git init
2. 查看当前工作区的文件状态
git status
3. 将工作区的未跟踪或修改的文件添加到暂存区
git add .
4. 将暂存区的文件提交到本地代码库
git commit -m "提交信息"
5. 忽略文件 .gitignore
根据自己的需要指定忽略文件的规则
忽略文件后, 确实想添加该文件, 可以使用 -f 强制添加到 git :
$ git add -f '文件名'
6. 本地仓库和远程仓库建立联系
6.1 查看本地仓库当前绑定的远程仓库
git remote -v # 短指令
git remote --verbose # 长指令
6.2 添加远程仓库的关联
git remote add origin(远程仓库名) '远程仓库的地址(ssh地址)'
6.3 删除远程仓库的关联
git remote remove origin(远程仓库名, 一般都是 origin)
6.4 查看提交日志
git log
git log --oneline # 一行的形式展现, 显示精简信息
7. 将本地代码库的代码上传到远程代码库
git push -u origin master # 记住这个分支
git push
8. 将远程代码库下载到本地代码库
git pull
git pull -all
9. 将别人的仓库克隆到本地 (克隆成功就是一个 git 仓库 ( .git文件存在 ) )
9.1 只要 clone 过来的仓库就不需要初始化了, 也可以直接进行 pull / push
git clone '远程仓库地址'
10. 切换到以前的版本
10.1 版本重置
--hard 一定要慎用, 将工作区没有提交的代码全部清空, 不保存, 直接切换
--soft 可以灵活使用, 将工作区没有提交的代码, 先添加到暂存区后再切换
git reset --hard 'commit hash'
git reset --hard HEAD~0 # 小技巧, 可以用 HEAD~0 表示回到最新的一次提交
10.2 查看历史操作记录
git reflog
2. 多分支
1. 创建分支
git branch 分支名 # 使用频率较低
git checkout -b 分支名 # 常用, 创建并切换到该分支
2. 查看分支
git branch -a # 查看所有分支(包括远程分支)
3. 切换分支
git checkout 分支名
4. 合并分支
4.1 将指定的分支合并到当前分支, 一般执行 merge 的分支都是 master
git merge 分支名
5. 删除本地分支
git branch 分支名 -D
6. 删除远程仓库分支
git push origin(远程仓库名) --delete reg(分支名)
3. 开发过程中比较常见的工作流程(PR)
3.1 GitFlow:git 工作流
1. 会将 master 分支锁住, 任何人不得直接 push 到 master 分支, 保护master , 意味着合并操作将没有意义了, 即使合并了分支, 也无法推送到远程
2. 既然不能直接提交到 master , 就需要新建一个分支并提交到 dev 分支中最后推送给远程仓库
git checkout -b dev # 新建分支
git add . # 修改完代码后进行添加并提交
git commit -m "描述信息"
git push -u origin dev # 推送到远程仓库
3. 在 git 管理平台 (github 码云等) 新建 PullRequest
4. 在 PR 中由其他成员(组长)进行 CodeReview(代码审查), 提出看法或整改建议. 修改完毕后通过审查及测试, 最后由组长进行合并
5. 统一通过 PR 的方式提交, Pull Request
作为程序员, 在开源世界中进行交流的两大方法:
lssues (向作者提问) 、Pull Request (向作者贡献代码)
4. 版本控制软件
1. git(分布式) - svn(集中式)
........