Git命令总结-常用
久了不用,有些时候老是会忘记一些命令,多的都记录一下,方便查找
git init
初始化一个Git仓库,执行完git init
命令后,会生成一个**.git**目录,该目录包含了资源数据,且只会在仓库的根目录生成
git init
若需要指定目录,则
git init [目录名]
git clone
将仓库代码克隆到本地,如果不加 [本地目录] 则复制到当前命令所在目录
git clone <远程仓库的网址> [本地目录]
git config
# 配置提交记录中的用户信息
git config --global user.name <用户名>
git config --global user.email <邮箱地址>
提交代码相关
git add . //所有文件添加
git add <file> //单个文件添加
git commit -m "代码提交信息" //文件提交
git commit --amend //与上次commit合并
git push origin master //推送至master分支
git pull //更新本地仓库至最新改动
git fetch //抓取远程仓库更新
git log //查看提交记录
git status //查看修改状态
git diff //查看详细修改内容
git show //显示某次提交的内容
分支相关
大概,详细看下面
git branch //查看分支
git branch <name> //创建分支
git checkout <name> //切换分支
git checkout -b <name> //创建+切换分支
git merge <name> //合并某分支到当前分支
git branch -d <name> //删除分支
git log / git reflog //查看历史版本
git reset --hard/soft xxx //回退版本(hard直接回退到指定版本,soft回退到暂存区)
新建分支
git pull origin master //在master分支下,拉取当前最新代码,保证当前代码与线上同步
git branch <分支名> //新建分支
git checkout <分支名> //切换到新建的分支上
git push origin <分支名> //将本地分支推到远端,让远端也有一个你新建的分支,后面用来提交你的代码
当前分支提交代码
//切换到你当前的分支上~
git status //查看自己写了哪些东西,同上
git add .
git commit -m "提交信息"
合并子分支内容到主分支
git checkout master //切换到主分支~
git merge childbranch //合并子分支内容到主分支
git status //查看状态
git pull --rebase //更新代码
git push //提交代码
将master分支上的代码合并到子分支上
git pull //切换到本地的仓库,更新为最新的代码
git checkout child //切换到要同步的子分支上
git merge master //在子分支上运行,就会将主分支的代码同步到子分支上
git status //在子分支查看当前的代码状态
git add . //将代码添加到本地仓库
git commit -m "主分支同步到子分支"
git push //将同步后的代码上传到git服务器上托管
冲突处理
git diff //对比workspace与index (见上图)
git diff HEAD //对于workspace与最后一次commit
git diff <source_branch> <target_branch> //对比差异
git add <filename> //修改完冲突,需要add以标记合并成功
删除文件
# 移除跟踪指定的文件,并从本地仓库的文件夹中删除
git rm <file>
# 递归删除,移除跟踪指定的文件夹,并从本地仓库的文件夹中删除
git rm -r <文件夹路径>
# 移除跟踪指定的文件,在本地仓库的文件夹中保留该文件
git rm --cached <file>
# 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除
git rm -f <file>