Git分支查看、创建、合并、删除
- git branch 查看本地分支
* master //本地只有master分支
- git branch -r 查看远程分支
- git branch -a 查看本地远程所有分支
- git branch dev 创建dev分支
- git checkout dev 切换到dev分支
- git checkout -b dev 创建并且切换到dev分支 (本地新建的分支如果不推送到远程,对其他人就是不可见的)
- git checkout -b newBranch origin/newBranch 创建切换关联远程分支
- git merge xxx 合并xxx分支
- git merge --no-ff -m 'merge dev' dev 普通模式合并,合并后的历史有分支
- git branch -d xxx 删除xxx分支
- git branch -D xxx 强制删除未合并的分支
Git提交命令
- git add 将工作区中的修改文件添加到版本库
- git add -u 只将修改过的文件加入暂存区,新建文件不加入暂存区
- git commit -m 'fix' 将add的文件提交到本地分支
commit后本地stage(暂存区)为空
- git push origin master 将本地分支推送到远程分支
Git 撤销修改命令
- 未添加到暂存区时 (未使用git add . 之前撤销)
git checkout -- readme.txt
执行后readme.txt将回到工作区未修改的状态
- 文件已经提交到暂存区 (git add . 还没有git commit -m 'xxx')
git reset HEAD readme.txt
执行后文件会回到还没有git add .的状态,若继续执行git checkout -- readme.txt
readme.txt回到初始版本
- 文件已经commit 使用版本回退
git reset --hard HEAD^
git reset --hard 1149856f5eb65ed8301b1b5421c963098962a971 //指定回退commit id
Git 查看提交信息
- git log 查看提交记录
- git log --graph --pretty=oneline --abbrev-commit 查看详细图形分支
Git stash'存储'当前状态
不想提交当前分支修改,但又需要切换分支时,'存储'当前分支修改,在切换分支
git stash
然后切换分支提交修改,回到当前分支,恢复到'存储'前状态:
git stash apply //恢复后,stash内容并不删除
git stash drop //使用apply后删除stash内容
git stash pop //恢复的同时把stash内容也删了
Git远程分支
- 查看远程库信息,使用
git remote -v
- 从本地推送分支,使用
git push origin branch-name
,如果推送失败,先用git pull origin branch-name
抓取远程的新提交 - 在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致 - 建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name
最后 fetch pull区别
git rebase
gitbook.liuhui998.com/4_2.html