0.工作中经常会用到的几个git命令:
git pull 拉下项目代码
git status 查看状态
git checkout --readme.txt 把readme.txt文件在工作去的修改全部撤销
git rm 用于删除一个文件
git branch dev 创建dev分支
git checkout dev 跳转到dev分支 //注意当前的要先提交然后再跳转
git checkout -b dev 创建并切换到dev分支
git branch 查看当前分支
======提交==========================================
git add 【文件名】
git commit -m "提交详情"
===================================================
提交完代码后要git push 到主仓库里面去。
注意看:当git merge dev 时,会有“merge failed”时,我们必须手动解决冲突。
Git 用<<<<<<<< ======== >>>>>>>> 标记出不同分支的内容
git branch -d feature 删除当前分支
git log 查看当前分支的合并情况
git log --graph 查看分支合并图
场景:接到一个新的bug修复工作。手头还有问完成的工作,在dev分支上。
git stash
git checkout master
git checkout -b tempbug
--------------
| 修bug ; 提交 |
--------------
git checkout master
git branch -d tempbug
---------------------------------到此为止bug 修完了。
git checkout dev
git status list 查看刚才的工作现场
git stash pop 恢复出来后并删除
===================================合并提交=========================================
git commit --amend 使用--amend选项的提交会与最后一次提交进行合并生成一个新的提交,之前的提交会被废弃掉。
1.详细理解git命令及其版本管理:
1.git的基本命令
包括撤销操作和文件删除
2.git结构和状态
3.git的分支以及help文档
2. git reset 三个参数:git reset --soft
告诉Git重置HEAD到另外一个commit,但也到此为止。如果你指定--soft参数,Git将停止在那里而什么也不会根本变化。这意味着index,working copy都不会做任何变化,所有的在original HEAD和你重置到的那个commit之间的所有变更集都放在stage(index)区域中。
HEAD != INDEX = WORKING COPY
git reset --hard
它将重置HEAD返回到另外一个commit(取决于~12的参数),重置index以便反映HEAD的变化,并且重置working copy也使得其完全匹配起来。这是一个比较危险的动作,具有破坏性,数据因此可能会丢失!
HEAD = INDEX = WORKING COPY
git reset --mixed
--mixed是reset的默认参数,也就是当你不指定任何参数时的参数。它将重置HEAD到另外一个commit,并且重置index以便和HEAD相匹配,但是也到此为止。working copy不会被更改。所有该branch上从original HEAD(commit)到你重置到的那个commit之间的所有变更将作为local modifications保存在working area中,(被标示为local modification or untracked via git status),但是并未staged的状态,你可以重新检视然后再做修改和commit 。
HEAD = INDEX != WORKING COPY