git的用法
工作区、暂存区、本地仓库、远程仓库相关知识
1.关系
2.相关语句用处
使用git add .会将本地所有新增、变更、删除过的文件的情况存入暂存区中。使用git commit –m “本次操作描述” 可以将添加到暂存区的修改的文件提交到本地仓库中。使用git push origin 分支名称,将本次仓库存储的当前分支的修改推送至远程仓库中的对应分支中。
语句格式及其作用:
git add --all 提交所有变化git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git branch 查看本地所有分支git branch -d 分支名称 删除本地分支git branch -D 分支名称 强制删除分支,当删除时报错:‘error: The branch ‘分支名称’ is not fully merged. (意思是:分支未完全合并)’。解决方法是使用该语句强制删除,git branch -r 查看远程版本库的分支列表git branch -a 查看所有分支列表(包括本地和远程)git branch -v 查看一个分支的最后一次提交git checkout 分支名称 切换分支git branch 分支名称 创建新分支git checkout -b 新分支名称 创建分支的同时切换分支git push origin 远程分支名称:本地分支名称 将本地分支合并到远程分支
应用场景:
如图所示 有3个本地分支,暂且将他们命名为 master,dev,test(分支名字可定义)
matster:本地稳定没有bug的版本,保持可用版本dev:本地实时开发的版本test:完成好部分功能,但还需要测试的版本
有3个远程分支,暂且将他们命名为 master,dev,pj(分支名字可定义)
master:已上线的版本 http://space4.online/homedev:测试版本 测试页面 http://dev.space4.online/homepj:你自己代码的远程分支
问题描述一:
在dev分支上进行开发,当完成部分功能后,上传到测试页面进行测试,(如图1,2,3)
解决方案:
1. git add . //提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
2. git commit -m '本次提交描述' //将git add .存入暂存区修改内容提交至本地仓库中,若文件未添加至暂存区,则提交时不会提交任何修改。
3. git fetch --all //将远程主机的最新内容拉到本地,在检查了以后决定是否合并到工作本机分支中
4. git checkout test //从目前所在的本地分支dev切换到本地分支test
5. git merge dev //将本地分支dev合并到当前本地分支test上
6. git push origin test:dev (格式:git push origin 本地分支:远程分支) // 将本地分支test上传到远程分支dev,用于测试。
问题描述二:
测试无误后,将本地没有问题的版本合并到本地分支master上,从本地分支master上传到远程分支pj
( 如图4,5,6)
解决方案:
1. git add . //提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
2. git commit -m '本次提交描述' //将git add .存入暂存区修改内容提交至本地仓库中,若文件未添加至暂存区,则提交时不会提交任何修改。
3. git fetch --all //将远程主机的最新内容拉到本地,在检查了以后决定是否合并到工作本机分支中
4. git checkout master // 切换到本地master分支
5. git merge dev //将dev中测试无误的内容合并到本地分支master
6. git merge origin/master //将远程分支master的内容更新到本地分支master上
7. git push origin master:pj //检查无冲突之后,将代码上传到远程分支pj上