GIt常用命令

好久不见. 提交于 2019-12-10 21:30:47

git常用命令

工作区:包含.git文件夹和各类需要管理的文件
版本库:包含暂存区和提交区
暂存区:文件或文件夹执行git add命令之后,进入暂存区
提交区:暂存区的文件或文件夹执行git commit命令之后,进入提交区
# 安装后需执行
    git config --global user.email 【设置全局用户邮箱】
    git config --global user.name  【设置全局用户名称】
# 初始化目录为git版本管理目录,即工作区
    git init 【进入目录执行,会生成.git文件夹】
# 基础操作
    git add <文件或目录> 【将文件或文件夹提交到暂存区】
    git commit <文件或文件夹> 【将暂存区的文件或文件夹提交到提交区】
    git commit <文件或文件夹> -m <message> 【增加描述信息】
    git status 【查看工作区状态】
        nothing to commit 【没有需提交的文件】
        Untracked files 【新文件没有加入到git版本管理】
        new file:文件 【git add操作后】
        modified:文件 【管理的文件被修改,但是没有执行git add】
# 版本切换
    git log 【git提交日志,最后一条为当前版本,回退的部分看不了】
    git reflog 【所有git提交日志,可以查看回退的部分】
    git log --pretty=oneline 【git提交日志,仅显示一行,不显示Author和Date】
    git reset --hard <commitId> 【切换版本】
    git reset --hard HEAD^   【回退到上一个版本】
    git reset --hard HEAD^^  【回退到上上个版本】
    git reset --soft HEAD~1 【撤销上一次的本地提交】
# 暂存区
    git checkout -- <文件> 【没有执行git add命令之前】【撤销文件更改到上一个提交版本】
    git reset HEAD <文件> 【执行git add命令之后】【回退到git add命令之前,经常与git checkout一起使用】
# 分支
    git checkout -b <分支名> 【创建一个分支】
    git branch 【查看所有分支和当前分支,当前分支名字前面带*号】
    git checkout <分支名> 【切换分支】
    git branch -d <分支名> 【友好删除分支,如果跟master不一致,会提示不能删除】
    git branch -D <分支名> 【强制删除分支,master分支不能删除】
# 分支合并和冲突解决
    git merge <分支名> 【快速合并分支,冲突手动解决】【master分支上执行】
    # 手动解决冲突:到有冲突的文件里面,根据需要删除或保留<< == >>标识的内容,符号行需删除
# git config
    仓库级别>全局级别>系统级别
    仓库级别:当前仓库下的.git>config文件
    全局级别:当前用户之下
    系统级别:git安装目录下etc
    git config -l 【查看所有的git配置参数】
    git config --local -l 【查看仓库级别的配置】
    git config --global -l 【查看全局级别的配置】
    git config --system -l 【查看系统级别的配置】
    git config -f <file> 【设置配置文件】
    git config --global --add <配置项> <值> 【添加全局配置】
    git config --global --unset <配置项> 【删除配置】
    git config --global alias.<别名> <完整名> 【配置别名】
        git config --global alias.pol "pretty=oneline"
        git log --pol === git log --pretty=oneline
# 标签
    git tag <标签名> 【将最新版本的commitid对应上标签名】
    git tag 【查看当前仓库的标签列表】
    git tag <标签名> <commitId> 【给以前的commit打标签】
    git tag <标签名> -m <message> 【增加描述信息】
    git tag -d <标签名> 【删除标签】
# 忽略文件【.gitignore】【不去管理某些文件】
    target/ 【文件夹】
    *.releaseBackup 【后缀文件】
# 本地仓库和远程仓库 【需要设置权限,保证数据传输的安全性】
    git remote add origin <远程仓库url> 【添加远程仓库绑定】
    git push -u origin <远程仓库分支> 【推送提交的内容,分支可以为master或者其他分支】
    git push -u origin <远程仓库分支> -f 【强制覆盖远程代码】
    git pull 【拉取代码】
    # 权限设置
    ssh-keygen -t rsa -C <远程仓库登录用户名> 【增加安全key,然后把公匙复制到远程仓库的ssh key】
    git clone <远程仓库url> 【拉取远程仓库的代码】
    git clone -b <远程仓库分支> <远程仓库url> 【拉取远程仓库指定分支的代码】
# GIT强制覆盖本地:
    git fetch --all 【只是下载远程的库的内容,不做任何的合并】
    git reset --hard origin/master 【把HEAD指向刚刚下载的最新的版本】
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!