git基本操作整理

1.提交本地仓库 $ git status //查看工作区和暂存区文件状态 $ git add 文件名或目录名,若提交全部,可直接git add . //和svn有区别,此步骤必须执行 $ git conmmit -m “提交日志信息” 注意: 若需要补充提交,即与上一次提交合并为一条提交记录,使用: $ git commit –-amend –m “新提交日志信息” 若需要与上一次提交形成同一条gerrit审核记录,则使用 $ git commit –-amend 提示:使用repo管理的多个仓库,实质提交可直接采用上述方法,在单库中提交即可。 2.提交至gerrit审核 $ git push origin HEAD:refs/for/分支名 3.提交至远程仓库器配置库 注意:超过1G的数据,不需要提交至gerrit审核,找配置管理开通权限,直接提交至远程仓库器配置库。 $ git push origin 分支名 4. 作废本地修改 4.1. 指定文件 git checkout 指定文件 4.2. 全部文件 git checkout * 4.3. 删除本地配置库未受控文件 git clean -n 显示将要删除的文件和目录 -f 删除文件 -df 删除文件和目录 5.更新至远程仓库中最新版本 5.1. 本地未修改 同一分支: $ git fetch origin $ git rebase origin/分支名 服务器上所有分支: $ git pull --rebase 5.2. 本地有修改,作废 $ git checkout * $ git pull --rebase 5.3. 本地有修改暂不需要提交本地配置库,只需要更新远程仓库器数据 $ git stash //先保存本地修改 $ git stash list //可查看本地修存的信息 $ git fetch origin $ git rebase origin/分支名 //更新远程仓库器数据至本地 $ git stash pop //将本地修改调出来 此时,会自动合并,若有冲突,需要手动解决冲突 $ git staus //both modify 显示的是有冲突的文件 冲突标识的====== >>>为服务器上数据,===================== <<<< 为本地修改内容,可配合TortoiseGit比较两个版本的文件 解决完冲突后,使用: $ git add –u //通知已经解决完冲突 继续修改 5.4. 本地有修改需要提交至本地配置库,并更新远程仓库器数据 先按 上述“提交本地仓库” $ git fetch origin $ git rebase origin/分支名 此时会自动合并,若有冲突,手动解决冲突后 $ git add –u $ git rebase –continue 6.更新至远程仓库中历史版本 6.1. 本地未修改 $ git fetch origin $ git rebase origin/分支名 $ git log //查找对应的commit id $ git checkout commit id 6.2. 本地修改,作废 $ git checkout * $ git fetch origin $ git rebase origin/分支名 $ git log //查找对应的commit id $ git checkout commit id 6.3. 本地有修改暂不需要提交本地配置库,只需要更新远程仓库器数据 $ git stash //先保存本地修改 $ git stash list //可查看本地修存的信息 $ git fetch origin $ git rebase origin/分支名 //更新远程仓库器数据至本地 $ git checkout <commit id>
使用历史版本完成后,若需要恢复本地修改,直接使用 $ git stash pop <指定的stash的某个版本> 6.4. 本地有修改需要提交至本地配置库,并更新远程仓库器数据 先按 上述“提交本地仓库” $ git fetch origin $ git rebase origin/分支名 $ git checkout <commit id>
7.更新至本地配置库最新版本 7.1. 本地未修改 $ git checkout HEAD 7.2. 本地有修改,本地修改作废 $ git checkout –f HEAD 7.3. 本地有修改,本地修改不作废 $ git stash $ git checkout HEAD //切换至最新版本 如果需要调出已修改的内容 $ git stash pop <stash对应的ID> //可先使用git stash list查看 id 8.更新至本地配置库指定版本 8.1. 本地未修改,更新至指定版本 $ git log //显示版本信息,找到对应的版本号 (commit id) $ git checkout 40位或前7位的提交版本号 8.2. 本地有修改,作废 $ git checkout -f HEAD 8.3. 本地有修改,不作废 方法一: $ git stash //保存本地修改 $ git checkout <commit id > 方法二: 将本地修改硬拷贝备份,再使用 $ git checkout <commit id> 9.查看日志 9.1. 查看所有日志 $ giit log 9.2. 查看文件修改列表 $ git log –name-status 10.查看差异 10.1. 查看本地与本地配置库的差异 $ giit diff HEAD 10.2. 查看本地与暂存区的差异 $ giit diff 10.3. 查看本地与远程仓库的差异 $ git fetch origin $ git diff origin/分支名 10.4. 查看暂存区与配置库的差异 $ giit diff --cache 10.5. 查看本地配置库与远程仓库的差异 $ git fetch origin $ git diff HEAD..origin/分支名 11. 撤销最新版本 11.1. 撤消本地修改 $ git checkout <文件名或目录名或*> 11.2. 撤消本地配置库最新提交,保留工作区的最新修改 $ git reset –-mixed HEAD^ 11.3. 撤消本地配置库最新提交及工作区的最新修改 $ git reset –-hard HEAD^ 12. 撤销配置库中历史某个版本之后的版本 注意:历史的某个版本之后的并未提交至远程仓库的版本,若历史的版本已提交至远程仓库将后面介绍 12.1. 撤消本地配置库某版本之后的提交,保留工作区的最新修改 $ git log //找到对应版本号commit id $ git reset –-mixed <commit id> 12.2. 撤消本地配置库某个版本之后的提交,不保留工作区的最新修改 $ git log //找到对应版本号commit id $ git reset –-hard <commit id> 13. 撤销配置库中指定的某个版本 $ git log //查看版本号commit id $ git revert <commit id> 此时将形成一条新提交记录。 14. 分支常用操作 14.1. 查看分支 $ git branch //查看本地分支,*表示当前分支 $ git branch –-all //查看所有分支 14.2. 切换分支,若本地无修改 $ git branch //查看对应分支 $ git checkout 分支名 //可使用tab键获取 14.3. 切换分支,若本地有修改暂不提交 $ git stash //查看对应分支 $ git checkout 分支名 //可使用tab键获取 14.4. 切换分支,若本地需提交 按上述要求先提交至本地配置库,再切换 git branch //查看对应分支 $ git checkout 分支名 //可使用tab键获取 14.5. 创建新分支 $ git checkout 分支名或commit id//需要建立的基准分支或基准版本 $ git checkout –b 新的分支名 //创建为本地分支并切换至对应分支 14.6. 创建远程分支 本地创建的分支可推送至服务器端,需要配置管理开通对应权限。 或直接由配置管理在gerrit上建立分支。 14.7. 创建本地分支与远程分支建立跟踪关系 只有建立了分支与远程分支关系,才可以将本地的修改推送至远程服务器 默认clone后,本地分支名与远程同名分支已建立了跟踪。 若需要新建立分支,并与远程建立跟踪关系 $ git checkout –b <本地分支名> <远程分支名> 如: $ git checkout –b tmp origin/develop //本地建立 tmp分支,并与远程分支建立跟踪关系 14.8. 上传分支 按上述提交,在对应的分支提交至本地配置库或远程仓库。 默认提交的是本地分支对应的建立了跟踪关系的分支上。 14.9. 分支间合并 $ git fetch $ git checkout 分支名 //切换至需要合并至的分支 $ git merege orogin/分支名
会自动合并,若自动合并成功,使用 $ git commit –-amend //补一条changeid 若冲突,则需要手动解决冲突。再使用 $ git add –u //通知已解决冲突 $ git commit –m “提交日志” //提交解决冲突的

转载于:https://my.oschina.net/u/147528/blog/392588

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值