结合使用的需要,内容主要转载自其他博客:
origin是默认的本地仓库的名称
- git branch —-查看本地分支
- git branch -a —-查看所有本地和远程分支
- git branch myBranch —-创建分支
- git checkout myBranch —-切换至我的分支
- git checkout -b myBranch —-创建并切换至我的分支
- git checkout master —-切换到主分支
- git fetch –all —-获取远程分支的最新版本到本地,不会merge
- git pull –all —-获取远程分支的最新版本,自动merge
- git rebase master —-更新主分支的内容到当前分支
- git commit -a —-提交分支
- git reset HEAD^ —-撤回最近一次提交并保留原代码
- git merge mybranch1 (merge from mybranch2) —-合并分支
- git branch -d myBranch —-删除分支
- git branch -D myBranch —-强制删除
- git fetch origin —-更新远程库到本地
- git push origin mybranch:mybranch —-推送本地分支到远程仓库
- git push origin :mybranch —-删除远程仓库的分支(相当于推了个空白的过去)
- git merge origin/mybranch —-取远程分支合并到本地
- git checkout -b mybranch origin/mybranch —-取远程分支并分化一个新分支
- git log –oneline —-查看当前分支的hash码值
更新本地所有分支的脚本 出处
git branch | awk 'BEGIN{print "echo ****Update all local branch...@daimon***"}{if($1=="*"){current=substr($0,3)};print a"git checkout "substr($0,3);print "git pull --all";}END{print "git checkout " current}' |sh
一般的更新和部署流程
- git branch 查看分支
- git checkout target 切换到目标分支
- git fetch –all 拉取此分支最新版本
- sh shupdown.sh 执行关闭的脚本 (自定义脚本)
- sh startup.sh 执行启动当前分支的脚本 (自定义脚本)
搞不定的情况下:
- git branch 查看分支
- git checkout other 切换到其他分支
- git branch -D target 删除目标分支
- git checkout -b target 新建并切换至目标分支
- git fetch –all 拉取此分支最新版本
- sh shupdown.sh 执行关闭的脚本 (自定义脚本)
- sh startup.sh 执行启动当前分支的脚本 (自定义脚本)
出现: Please move or remove them before you can switch branches 错误 .
是因为git在你pull下来之后曾发生过改动,这个会对切换分支产生影响.
$ git clean -d -fx “”
d —–删除未添加到git中的文件
x —–删除git不识别的文件
f —–强制运行
出现: Please commit your changes or stash them before you can switch branches错误 .
是因为本地文件和代码库的文件产生了冲突
$ git checkout -f 或者 git stash
再重新 checkout 和 pull