美文网首页
五GIT常用命令

五GIT常用命令

作者: 小鱼你好 | 来源:发表于2022-04-27 09:30 被阅读0次

    安装之类的就略过了直入正题
    工作区:本地代码未add commit之前都在工作区
    暂存区:修改后进行暂存的代码.git,如add 之后进行了存储
    本地代码库:commit到本地代码库
    远程仓库:push提交远程
    忽略文件:.girignore配置忽略

    作为注释

    /开头防递归/结尾指定目录
    表示匹配零个或多个任意字符
    ?表示只匹配一个任意字符
    !表示取反
    [abc]表示匹配a,b,c
    [0-9]表示匹配0-9
    /a
    *z/表示匹配/a/z或/a/b/z或/a/b/c/d/z

    配置提交代码时用户信息:

    git config --global user.name "name"
    git config --global user.email "xxx@email.com"
    global为全局配置,如果想在某个独立项目中使用其他名字或邮箱去掉global即可

    编辑git信息

    git config -e 编辑当前仓库
    git config -e --global 编辑所有仓库

    查看配置信息:

    git config --list

    创建命令:

    git init:初始化仓库在当前目录下生成.git目录
    git init newrepo在newrepo目录下生成.git
    git clone:远程仓库拷贝项目
    git clone <repo> <directory>:拷贝到指定目录

    提交与修改:

    git add --<file>:添加文件到暂存区
    git add .:添加所有文件到暂存区
    git status:查看当前仓库状态 -s以紧凑格式输出
    git diff:比较暂存区和工作区差异
    git diff --cached/--staged查看已暂存要提交内容
    git commit -m :注释说明"提交暂存区到本地仓库
    git commit -a -m:合并add执行commit
    git commit --amend:漏提文件或修改提交信息尝试重新提交
    git rm:删除工作区文件
    git rm --cached:移除文件追踪单不删除,可用于不小心提交了不想追踪文件且未添加.gitignore文件
    git rm -f:强制删除暂存区文件
    git mv from to:移动或重命名工作区文件

    提交日志:

    git log:查看历史提交记录
    git log -p:查看每次提交差异-数字可以查看最近指定次数提交差异
    git log --stat:每次提交简要信息
    git log --oneline :简洁版历史提交记录
    git log --graph:查看历史分支,合并
    git log --reverse:逆向查看日志
    git log --decorate:查看标签
    git log --author="name" --oneline:查看指定用户提交日志
    --since --before --until --after:查看指定日期或范围例:git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
    git blame <file>:以列表形势查看指定文件修改记录

    远程操作:

    git remote:查看远程仓库操作-v显示仓库对应的URL
    git ls-remote (remote):显式地获得远程引用完整列表
    git remote show name:查看名为name的远程仓库信息
    git remote add name url:添加一个新的远程仓库并用name替代url,后续可以直接用name操作
    git remote rename from to:修改远程仓库简写名,同时修改远程分支名
    git fetch name:结合上边命令使用从远程拉取代码
    git fetch --all:抓取所有远程仓库
    git fetch:抓去远程仓库代码需要手动合并
    git pull:下载远程代码并合并
    git push:上传远程代码并合并
    git push origin a:b:将本地a分支推送到远程仓库b分支
    git push origin --delete branchname:删除远程分支

    分支管理:

    git branch:查看本地分支
    git branch (branchname):创建分支
    git branch -d (branchname):删除指定分支
    git branch -v:查看每个分支最后提交--merged与--no-merged过滤合并未合并
    git branch -vv:列出本地分及其详细信息
    信息git checkout (branchname):切换分支
    git checkout -b (branchname):创建并切换到新创建分支
    git rebase master:将当前分支所有修改移到变基移到master,然后再切换到master分支快速合并当前分支完成代码合并,减少提交历史
    git rebase --onto master server client:取出 client分支,找出处于client分支和server分支的共同祖先之后的修改,然后把它们在 master分支上重演一遍,即排除server分之修改只将独属于client的修改重演到master分支
    git rebase master server:将上边提到的server分支重演到master分支,切换到master再进行快速合并git merge server
    尽量少用变基操作因为风险可能有点大,如果使用只在本地代码进行变基,如提交到远程确保不会再丢弃上传的变基

    标签:

    git tag -a <tagname>:添加标签用于记录关键节点
    git tag -a <tagname> (提交id):在指定提交下追加标签
    git tag -d <tagname>:删除标签
    git tag:查看标签
    git tag -a <tagname> -m "message":指定标签信息
    git tag -a v1.2 9fceb02:历史提交打tag
    git tag -s <tagname> -m "message":PGP签名标签
    git log --oneline --decorate --graph --all:输出提交历史、各个分支的指向以及项目的分支分叉情况
    git push origin tagname:显示提交标签后才能在远程仓库共享
    git push origin --tags:推送所有标签到远程仓库
    git checkout -b [branchname] [tagname]:在特定的标签上创建一个新分支
    git show <tagname> :查看修改内容

    撤销操作:

    git reset:回退版本
    git reset HEAD file:从暂存区恢复文件到已修改未暂存状态
    git reset eb43bf file.txt:回退指定版本
    git checkout --file:撤销文件修改到上次提交状态
    git reset HEAD:覆盖暂存区,工作区不受影响HEAD~1/2/3指定版本
    git reset --hard commitID:永指定版本覆盖工作区
    git reset --hard HEAD:回到之前的状态或其他你想要恢复的状态
    git rm --cached <file> :删除暂存区文件,工作区不变
    git checkout .(全部替换)/git checkout -- <file>(替换文件),会清除工作区中未添加到暂存区的改动。
    git checkout HEAD .(全部替换)/git checkout HEAD <file>(替换文件),会清除工作区未提交改动和暂存区未提交改动。

    代码合并

    git merge (branchname): 合并指定分支到当前分支
    git merge --abort:有冲突时简单地退出合并并尝试恢复到合并前状态

    相关文章

      网友评论

          本文标题:五GIT常用命令

          本文链接:https://www.haomeiwen.com/subject/ugpkyrtx.html