美文网首页
Git | 基础学习笔记

Git | 基础学习笔记

作者: 清無 | 来源:发表于2020-01-17 13:38 被阅读0次

    如果想修改某个历史tag对应的commit代码,则可以:

    git checkout 0.0.1 (HEAD游离在这个提交上);
    修改代码(问题修复);
    git add, commit;
    git tag 0.0.1.1 (问题修复后制定tag);
    git push origin 0.0.1.1(推送当前tag到远端);
    git switch master(切换到主分支)
    git merge master(合并HEAD到master上);
    git push(推送合并到远端);
    

    基础使用

    init

    add xx

    commit

    log --pretty=oneline

    status

    配置

    • config --global user.name "Your Name config --global user.email "email@example.com"

    • 文件位置:~/.gitconfig(全局) .git/config(当前仓库)

    版本管理

    暂存区(staged)

    • restore --staged xx

    • reset HEAD xx

    回退 (慎用--hard)

    • reset --hard HEAD^

    • reset --hard 0a32

    • reflog 记录每一次操作命令

    删除

    • rm xx

    • git rm xx

    恢复

    • restore xx

    • checkout -- xx

    远程仓库

    添加远程仓库

    remote先将本地仓库与远端仓库建立链接 origin指远程仓库的默认名字,你可以改为任意名字。

    • 也可以直接使用 git push git@github.com:BackWorld/GitLearning2.git

    推送到远程仓库

    • push -u origin master

    -u指将远程的origin/master和本地master分支建立的对应关系,这样以后git push/pull时就不用指定远程仓库/分支;

    相当于 git push origin master + git branch --set-upstream-to=origin/master master

    • git show-ref 查看本地仓库与远程仓库的链接关系

    • git remote -v 查看远程仓库refs

    • git remote remove XX 移除仓库ref

    克隆远程仓库

    • git clone [LocalDir]

    • git remote -v 查看远程仓库关联信息

    远程仓库协作

    • 查看远程库信息,使用git remote -v;

    本地新建的分支如果不推送到远程,对其他人就是不可见的;

    从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

    在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

    建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

    从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    分支管理

    当前分支:HEAD指向的分支

    git branch命令列出所有分支,*dev表示当前分支

    branch dev: 创建分支

    checkout dev: 切换分支 checkout -b dev: 创建+切换

    切换分支:switch dev(本地已存在的分支)

    创建+切换分支:switch -c dev

    合并分支: merge dev(将dev分支合并到当前分支上去)

    删除分支

    • 本地分支:branch -d dev

    • 远程分支:push origin -d dev

    合并冲突

    • <<<<<< HEAD (当前分支改动)
      xxx
      >>>>>> feature1 (目标分支改动)

    查看格式化日志

    • log --graph --pretty=oneline --abbrev-commit

    暂存工作区: stash

    查看已暂存的工作区: stash list 还原工作区:stash apply(不删除原暂存信息) 还原+删除:stash pop=stash apply+stash drop. 还原指定工作区: git stash apply stash@{0}

    复制指定提交到当前分支:cherry-pick 4c805e2

    rebase: 把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。

    rebase操作可以把本地未push的分叉提交历史整理成直线;

    标签管理

    添加

    • tag 1.0 在当前分支最新commit处打tag

    • tag 0.9 ade2d3 在指定的commit号上打tag

    • tag -a 0.8 -m 'version 0.8 released.' 8fa83231595e -a: 指定tag名 -m: 指定tag信息

    删除

    • tag -d 0.1

    • push origin :refs/tags/0.1 删除远程对应的tag

    推送

    • push origin 0.1

    • dev->master合有冲突,当然是先从master合到dev,解决冲突,再合回去

    第三方仓库使用

    相关文章

      网友评论

          本文标题:Git | 基础学习笔记

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