常用命令
# 查看git配置信息
git config --list
# 查看文件信息
git ls-files #仅查看所有的文件名
git ls-tree head #查看版本(分支)中所有的文件
git ls-files -s #查看暂存区和版本中所有文件的详细信息
# 查看commit日志
git log
git log --oneline
git log --graph
# 推送代码至服务器
git pull
# 获取最新版到本地,不会自动merge
git fetch
# 拉取远程分支到本地
git pull <远程主机名> <远程分支名>:<本地分支名>
git fetch <远程主机名> <远程分支名>:<本地分支名>
# 推送到服务器
git push
# 添加文件到暂存区
git add <filePath>
git add .
# 添加commit信息
git commit -m "<message>"
# 合并分支
# 切换到master,将dev分支合并到master分支
git merge dev
# 删除
# -r 递归移除目录
# -n 执行命令时,不会真做操作,只是展示执行后的操作信息
git rm -r -n runtime/* # 不会删除掉文件
git rm -r runtime/* # 会删除掉文件
git rm -r --cached runtime/* # 从暂存区删除,不会删除本地文件
# 放弃本地修改
git checkout -- <filePathName>
# 冲突
# 冲突是需要手动解决的,最好是借助工具解决掉冲突,先add,再commit即可。
# 基础配置
# 设置用户信息
git config --global user.name "Jalena"
git config --global user.email "jalena@bcsytv.com"
# 查看某一项设置
git config <key>
# 格式化与多余的空白字符
git config --global core.autocrlf true
# 回滚版本
# 方式一
git reset --soft 版本号 #从分支回到暂存区
git reset head 文件 #从暂存区回到修改过的内容
git check out 文件 #从修改过的文件到原文件
# 方式二
git reset --mix 版本号 #从分支回到修改过的内容 == git reset 版本号
git check out 文件 #从修改过的文件到原文件
# 方式三
git reset --hard 版本号 #从分支回到原文件
远程仓库相关命令
# 初始化
git init
# 检出代码
git clone https://github.com/odoo/odoo.git
# 查看远程仓库
git remote -v
#添加远程仓库
git remote add [name] [url]
# 删除远程仓库
git remote rm [name]
# 修改远程仓库
git remote set-url --push [name] [newUrl]
# 拉取远程仓库
git pull [remoteName] [localBranchName]
# 推送远程仓库
git push [remoteName] [localBranchName]
分支(branch)操作相关命令
# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 创建本地分支
git branch [name] // 注意新分支创建后不会自动切换为当前分支
# 切换分支
git checkout [name]
# 创建新分支并立即切换到新分支
git checkout -b [name]
# 删除分支
# -d 只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。
# -D 强制删除一个分支
git branch -d [name]
# 合并分支
# git merge [name] # 将名称为[name]的分支与当前分支合并
# 创建远程分支(本地分支push到远程)
git push origin [name]
# 删除远程分支
git push origin heads/[name]
git push origin [name]
子模块(submodule)相关操作命令
# 添加子模块
git submodule add [url] -b <version> [path]
# 初始化子模块,只在首次检出仓库时运行一次就行
git submodule init
# 更新子模块,每次更新或切换分支后都需要运行一下
git submodule update
# 删除子模块:(分4步走哦)
git rm --cached [path]
# 编辑".gitmodules"文件,将子模块的相关配置节点删除掉
# 编辑".git/config"文件,将子模块的相关配置节点删除掉
# 手动删除子模块残留的目录
Git Flow
文章评论