Git仓库的工作分区
工作区到暂存区的操作
git init :在当前文件夹创建一个文档库,自动产生一个master分支。当当前文件夹已有文档库时,不会再次创建也不会修改,只会将隐藏的.git文件夹显示出来
添加到暂存区
$ git add . all *(文件名,.号为全部)//添加到暂存区
查看暂存区的内容
$ git status //查看暂存区的内容
从暂存区撤回
git reset HEAD -- 文件名
暂存区到历史区的操作
暂存区的数据到历史区必须提交对应的信息(用户名及邮箱)
git config user.name 名 --global git config user.email 邮箱号 --global
$ git remote add origin
绑定仓库地址 到这里会提示你输入账号密码,这里的账号密码就是你远程仓库的登录密码
提交对应的暂存区文件到历史区 (暂存区就没有了)
git commit 文件名
提交简化写法 不需要进vi
git commit 文件名 -m 备注信息
全部提交
git commit .
vi编辑器 三种模式
阅读模式 (不能编辑的 插入模式返回阅读模式 按esc)
插入模式 按i 都能进行对应的插入模式(就可以进行编辑)
命令行模式 (按对应的: 进入命令行 后面接的是对应的指令 wq 保存并退出)
查看版本库的信息
git log
历史区数据是不能撤回的 但是它可以回滚数据来影响对应的暂存区和工作区
git分支管理
分支的增删查改
git branch:查看当前所有分支
git branch 要创建的分支名称: 从最新的commit创建一个新的分支
git branch -m 新的分支名称:将当前分支名称修改为新的分支名称
git branch -d 分支名称:删除分支。如果存在未合并的内容,会报错
git branch -D 分支名称: 强制删除分支
切换分支
git checkout 分支名称:切换分支
git checkout -b 新分支名称:创建新的分支后自动切换到该分支。相当于先执行git branch 再执行git checkout
git checkout -b 新分支名称 commit 节点标识符或标签:从指定节点创建新的分支后自动切换到该分支
合并分支
方法一
git merge 分支名称A:将分支名称A合并到当前工作的分支
git merge --no-ff 分支名称:合并时留下合并记录。
git merge --abort:合并过程中发成冲突时,使用此命令可以放弃合并。git 文档库和文件夹的内容都会恢复到未合并前的状态
方法二
git rebase 分支名称A:将当前工作的分支B移动到分支A中,然后再切换到分支A中,执行 git rebase 分支B,此时没有冲突的情况分支A和分支B的内容一致
git checkout 分支A
git merge master
以上两个命名是将master的内容合并到分支A。当master分支和分支A在持续更新时,还需要再次将master分支修改的内容合并到分支A。此时这种情况是正常的状态,但是commit节点演进图就比较复杂,我们可以使用rebase指令:
把另一个分支的修改运用到当前的分支,等当前分支开发完成后再使用merge指令合并
git checkout 分支A
git rebase master
当然rebase命令也可能出现冲突。出现冲突是要不使用git rebase --abort恢复到未执行rebase之前的状态。要不就是解决冲突后使用 git add 和gitrebase --continue 继续执行rebase操作。rebase 仅适用于当前分支仅限于自己使用,否则会出现和其他人文档库数据不一致的情况
git远程仓库
- git remote add:添加远程仓库
- git remote:查看当前的远程仓库
- git fetch、git pull:提取远程仓仓库
- git push:推送到远程仓库
- git remote rm:删除远程仓库
git pull :从远程git文档库中取回当前分支的最新数据,并且将远程git文档库的分支合并到本地git文档库的分支
添加远程仓库,起名为film,并查看
提取远程仓库数据
合并并提交
删除仓库
目前我常用的工作流程是
1、使用git clone 复制一个文档库到本地
2、然后时候git checkout -b 新的分支名称 创建一个属于自己的分支
3、然后进行修改删除文件后先使用git add 、git commit 将我们的修改提交到本地文档库中
4、然后使用git push -u 分支名称:将我们的分支内容同步到远程git 文档库中
5、在git上提交合并请求,当我们分支的内容合并到主分支上
6、在自己的分支上执行git pull 主分支名称 将主分支的内容合并到自己的分支中
标签:
留言评论