git 和 gitflow 常用命令总结

1.git 常用命令

git init     //仓库初始化    
git branch   //查看分支
git status     //查看当前工作和暂存区的状态
git remote add origin 地址      //添加远程服务仓库的地址
git remote remove origin        //移除远程服务地址
git checkout -b 分支名      //创建新分支并切换到该新分支
  === git branch 分支名 ->  git checkout 分支名
  === git checkout -b 本地分支名 origin/远程分支名       //新建分支,并与远程分支相关联
git branch -d 分支   //删除分支(没有合并到主分支会有提醒) 
git branch -D 分支   //强行删除,即使没有合并分支
git push (-u) origin master //推送master主分支到远程,首次推送加上-u代表下次再次推送到该远程分支master可以直接使用git push命令
git clone 远程服务 分支     本地分支 //服务地址以.git结尾,默认本地和服务分支名一致(git clone ssh://.../**.git)

git merge 分支名(例:dev1)   //把dev1 合并到当前所在的分支上, 合并前要确认当前的分支是否正确,或者gitcheckout 切换一下分支  在进行合并    注:历史纪录中查不到合并的信息

git merge --no-ff -m"合并备注信息" 分支名     //这里会创建一个合并的commit,这样可以在开发记录中查看合并的信息

    (例:git merge --no-ff -m"修改样式" issue#111)

git log --graph --pretty=oneline --abbrev-commit        //以一行信息查看分支commit情况
  
git push origin :test  //删除本地分支后然后push到远程,删除远程的分支  

git remote    
git remote -v //查看远程库的信息
git stash     //保存当前修改文件到工作栈中,以便切换分支修改紧急bug,不至于丢失当前已工作内容
git stash list   //查看工作栈的列表
git stash pop   //恢复工作现场
   === git stash apply (stash@{0} 第几个现场栈) ->  git stash drop  (例: git stash apply stash@{1} )

git push origin 分支名   //推送分支到远程
git checkout -b dev origin/dev //在本地创建与远程仓库dev对应的dev 分支
git branch --set-upstream dev origin/dev //本地分支dev建立与远程dev关联
git mv file1 file2     //移动或重命名文件file1到file2 ,然后commit,最后推送

git fetch origin master:tmp  //抓取远程的master分支到本地的tmp分支
git diff tmp   //查看不同处,有冲突时手动改动
git merge   //合并分支

git pull origin 远程分支名     // 拉取远程服务分支的最新代码(git pull origin develop, git pull origin master)
git fetch origin 远程分支名

git reset (--soft) commitid //回退到这个commit,撤销前一个commit,并保存修改状态,(--soft可不加,默认为soft; --hard 取消回退点后所有commit点,且不保留已修改的内容,也就是回退到这个点,在这之后做的都是无用功,用法示例:git reset 123414a, git reset --hard 3535f4s  注:使用hard慎重
git reset 某个文件 //从已暂存文件 变为修改文件

git fetch -p       //删除没有于远程分支对应的本地分支
git branch -m devel develop     //重命名本地分支devel->develop
git push --delete origin  分支2     //删除远程分支2
git push origin 分支 -f       //-f参数,这个参数用于强制推送本地更新到远程仓库,重新提交所有的commit
git commit --amend -m "now correct" //修改最后提交的内容
git reflog

git blame 文件路径        // 查看某个文件的历史提交记录(例:git blame app/scripts/directives/aa.js)

git commit --amend        //修改最新一次的commit备注信息


2.git rebase  重新定义基准


git rebase 分支2         //把当前分支基准改到分支2的head节点  (git rebase develop)
git rebase --onto 新的基准commitID 当前的基准commitID点    //(git rebase --onto 123456f  1111231)

注:嫁接时有冲突的首先手动解决冲突,然后add,commit  然后再 git rebase --continue继续

git rebase --continue   // 解决冲突后 继续更改基准点

git rebase -- abort   // 取消更改基准点


重新定义commit(Interactive Mode):
git rebase -i 提交节点(当前没有问题的点)进入了编辑模式,可以决定保留哪些节点
(reword 修改提交备注; 
  pick 什么也不动; 
  edit 修改提交内容 
  squash 和前一条合并保留当前的提交备注;
  fixup和前一条合并保留前一条的提交备注,舍弃当前的备注



3.git-flow


brew install git-flow    // 使用brew 安装gitflow

git flow init //构建模型(一定要记住指定远程 master和远程开发分支名Branch name for "next release"development: [dev], 代表当前dev为开发分支名)


1.新功能开发 feature (dev衍生分支)
git flow feature start f1           //  f1 代表新建的分支名
............中间一系列的git add */文件名 , git commit -m "" a1, 操作

git flow feature finish f1        // 完成f1分支新功能的开发,将代码合并到dev开发分支(即:删除f1切换到开发分支)

2.发布上线  release (dev衍生分支)

git flow release start v0.0.1

git flow releasefinish v0.0.1 (将dev代码合并到master上,此时dev和master代码同步

3.紧急bug  hotfix (master衍生分支,以master为基准的bug修复)

git flow hotfix start issue#666

git flow hotfix finish issue#666:  依次切换master,develop合并修改

4. support (master衍生分支)


相关地址

git常用命令

git分支管理-阮一峰



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值