Git
断断续续地使用了git的部分功能,稍稍做一些系统性的整理
理解
git 是一个分布式版本控制系统,即每个人的本地都是一个完整的版本库,可以进行版本控制。
而且git的版本库记录的不是每个文件的增量,而是所有文件的快照,这样可以方便地进行版本回退。
常用git一般是通过一个远程仓库来进行协作,每个人都可以从远程仓库克隆一份到本地,然后在自己的分支上进行修改,最后再推送到远程仓库,通过冲突处理合并到主分支。(~~或者当成远程备份库~~)
git架构
- workspace:工作区,实际工作目录
- index:暂存区,通过add添加
- repository:版本库
- remote:远程仓库
- branch:分支
- HEAD:指向当前分支的指针
- origin:默认远程仓库
- master: 默认主分支
常用命令
-
git pull <remote> <branch>
约等于 git clone + git merge,一般用于将远程仓库克隆到本地
-
git push (-u) <remote> <branch>
将本地的仓库(repository)推送到远程仓库的分支上,-u参数表示将本地分支与远程分支关联起来
-
git add <file>
将工作区的文件添加到暂存区(index)
-
git commit -m <message>
将暂存区的文件提交到本地仓库(repository) message是提交的说明,一般是对本次提交的精简描述
-
git init
初始化一个本地仓库
-
git clone
将远程仓库克隆到本地
-
git branch
查看分支 -a 查看所有分支 -r 查看远程分支 -d 删除分支 后加分支名可新建分支
-
git checkout <branch>
(新建且)切换分支
-
git merge <branch>
将<branch>分支合并到当前分支
-
git rebase
将当前分支的提交记录移动到<branch>分支的最后 使得提交记录更加清晰
-
git log (--oneline)
查看提交记录
常用操作
- 查看差异
- 将多个提交合并为一个
- 新建一个本地仓库并与远程仓库关联
- 从远程仓库克隆到本地
- 从远程仓库拉取分支并完成合并
-
处理冲突
- 放弃本地修改
- 未提交,可以暂存当前工作,回退到上一个版本,然后开始合并
- 已提交,可以直接merge处理冲突,再重新提交
-
远程仓库管理
-
删除分支
-
查看远程仓库
-
修改远程仓库地址
-