Git常用命令及遇到的问题
专用名词
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
工作流程

基本操作
- git init
初始化仓库 - git clone
克隆仓库 - git status
状态查看 红:modified 绿:new file Untracked:未追踪 暂存区无此文件 - git add .
添加到本地暂存区 - git commit -m “xxx”
提交到本地,xxx为注释 - git push
推送到远程仓库 - git pull
拉取远程仓库最新代码,可能需要解决merge冲突 - git fetch
仅做拉取操作,不做合并,合并需要自己再找其他方法,一般都用git pull - git log 查看提交
日志(版本号) - git reset --hard 版本号
回退到指定版本
将新项目初次推到远程仓库
- git init
- git commit -m “first commit”
- git remote add origin 仓库地址
- git push -u origin “master”
分支类操作
查看
- git branch
查看所有本地分支 - git branch -r
查看所有远程分支
创建 & 切换
- git checkout -b xxx
创建并切换分支 - git checkout xxx
切换分支
拉取远程分支到本地
- git checkout -b 本地分支名xxx origin/远程分支名xxx 与远程分支
建立映射关系 - git fetch-origin 远程分支名xxx:本地分支名xxx 与远程分支
不建立映射关系
删除
-
git branch -d xxx
删除本地分支 -
git push origin :xxx
删除远程仓库分支 -
git branch -D xxx
强制删除本地分支,即不检查当前要删除的分支是否存在未处理的状态(merge) -
git branch -delete --force xxx
同上 -
git branch --delete --remotes /
删除追踪分支命令解释:
-
删除追踪分支,该操作并没有真正删除远程分支,而是删除的本地分支和远程分支的关联关系,即追踪分支。
通过命令行git push origin --delete branch会删除远程分支和追踪分支,不需要单独删除追踪分支,但是如果通过网页对远程分支进行删除,追踪分支是不会被删除的。
-
-
git branch | xargs git branch -d
批量删除除了当前分支外的所有分支命令解释:
- |:道命令,用于将一串命令串联起来。前面命令的输出 作为 后面命令的输入。
- xargs:是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。同样,将-d换成-D可以强制删除。
-
git branch | grep ‘dev*’ | xargs git branch -d
删除分支名包含指定字符的分支命令解释:
- grep:搜索过滤命令。使用规则表达式搜索文本,并把匹配的行打印出来。
合并流程
- git checkout master
切换到需要合并到的分支 - git pull origin master
拉取最新代码 - git merge dev 将dev分支
合并到master - 上述步骤如出现
冲突,需要手动解决 - git status 查看当前
状态 - git push origin master 将合并后的代码
推送到远程仓库
创建并切换分支
- git checkout -b your_branch 创建并切换到本地分支
- git push -u origin your_branch 将创建的分支推到远程
遇到过的问题
-
fatal: not a git repository (or any of the parent directories): .git
问题描述: 未找到git仓库
解决方法: git init 初始化
-
error: failed to push some refs to…
问题描述: 推送失败(远程仓库有更新)
解决方法: git pull 拉取最新代码
615

被折叠的 条评论
为什么被折叠?



