Git学习
-
Git的分区:版本库、工作区、暂存区
- git常用命令:
添加和提交
- git init ——初始化
- git status ——查看该版本的状态变化
- git add ——添加至暂存区
- git commit -m “xxxx” ——提交至分支
版本回退:
- git diff ——显示所有未添加至暂存区的修改
- git diff --cached ——显示所有添加至暂存区未提交的修改
- git log 查看历史操作 ——git log --pretty=oneline
- git reset --hard [版本号] ——回退到某一个已经提交的版本
git checkout -- [] ——
撤销工作区的修改- git reset HEAD [] ——撤销暂存区到修改,回到工作区状态
git config --global color.ui true
git ——status等命令显示不同颜色
分支合并:git默认的分支是master,HEAD不是指向提交,而是指向master,master才指向commit,所以HEAD是指向当前分支。
- git branch -r(查看远程分支)\-a(查看所有分支)
- git branch [分支名]——创建分支
- git checkout []——跳转分支
- git checkout -b []——创建并跳转到新分支(HEAD指向新分支)
- git merge [分支名]——在master合并在分支上的修改,git merge --no-ff []——普通合并
- git branch -d []——删除分支
冲突的产生与解决:在不同分支上修改同一个文件,在master合并时就会产生冲突。
分支管理策略:
- 主分支master
- 开发分支develop:平时开发工作应该是在另一分支上完成,这就是我们的develop分支,开发工作完成之后,我们就可以把develop分支合并到master分支上,然后发布正式版本。
- 功能分支feature
- 预发布分支release
- bug分支fixbug
pull:
- git pull <远程库名> <远程分支名>:<本地分支名>
- git pull origin develop——如果是要与本地当前分支merge,则冒号后面的<本地分支名>可以不写
- git pull ——等同于先做了git fetch ,再做了git merge
push:
- git push <远程库名> <本地分支名>:<远程分支名>
- git push origin master——如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
- git push origin :master == git push origin --delete master——如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,这条命令是删除远程master分支