Git常用操作

    技术2022-07-12  73

    Git常用操作

    文章目录

    Git常用操作一、概括二、初始化三、常用操作四、IDEA五、GitHub六、常见异常1.Git 无法通过 SSH 连接2.服务器版本强制同步

    一、概括

    #mermaid-svg-Fgd7TuDN3g6rCGCn .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .label text{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .node rect,#mermaid-svg-Fgd7TuDN3g6rCGCn .node circle,#mermaid-svg-Fgd7TuDN3g6rCGCn .node ellipse,#mermaid-svg-Fgd7TuDN3g6rCGCn .node polygon,#mermaid-svg-Fgd7TuDN3g6rCGCn .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-Fgd7TuDN3g6rCGCn .node .label{text-align:center;fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .node.clickable{cursor:pointer}#mermaid-svg-Fgd7TuDN3g6rCGCn .arrowheadPath{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-Fgd7TuDN3g6rCGCn .flowchart-link{stroke:#333;fill:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-Fgd7TuDN3g6rCGCn .edgeLabel rect{opacity:0.9}#mermaid-svg-Fgd7TuDN3g6rCGCn .edgeLabel span{color:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-Fgd7TuDN3g6rCGCn .cluster text{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-Fgd7TuDN3g6rCGCn .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-Fgd7TuDN3g6rCGCn text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .actor-line{stroke:grey}#mermaid-svg-Fgd7TuDN3g6rCGCn .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .sequenceNumber{fill:#fff}#mermaid-svg-Fgd7TuDN3g6rCGCn #sequencenumber{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn #crosshead path{fill:#333;stroke:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .messageText{fill:#333;stroke:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-Fgd7TuDN3g6rCGCn .labelText,#mermaid-svg-Fgd7TuDN3g6rCGCn .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .loopText,#mermaid-svg-Fgd7TuDN3g6rCGCn .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-Fgd7TuDN3g6rCGCn .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-Fgd7TuDN3g6rCGCn .noteText,#mermaid-svg-Fgd7TuDN3g6rCGCn .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-Fgd7TuDN3g6rCGCn .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-Fgd7TuDN3g6rCGCn .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-Fgd7TuDN3g6rCGCn .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .section{stroke:none;opacity:0.2}#mermaid-svg-Fgd7TuDN3g6rCGCn .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-Fgd7TuDN3g6rCGCn .section2{fill:#fff400}#mermaid-svg-Fgd7TuDN3g6rCGCn .section1,#mermaid-svg-Fgd7TuDN3g6rCGCn .section3{fill:#fff;opacity:0.2}#mermaid-svg-Fgd7TuDN3g6rCGCn .sectionTitle0{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .sectionTitle1{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .sectionTitle2{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .sectionTitle3{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-Fgd7TuDN3g6rCGCn .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .grid path{stroke-width:0}#mermaid-svg-Fgd7TuDN3g6rCGCn .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-Fgd7TuDN3g6rCGCn .task{stroke-width:2}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText:not([font-size]){font-size:11px}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-Fgd7TuDN3g6rCGCn .task.clickable{cursor:pointer}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText0,#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText1,#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText2,#mermaid-svg-Fgd7TuDN3g6rCGCn .taskText3{fill:#fff}#mermaid-svg-Fgd7TuDN3g6rCGCn .task0,#mermaid-svg-Fgd7TuDN3g6rCGCn .task1,#mermaid-svg-Fgd7TuDN3g6rCGCn .task2,#mermaid-svg-Fgd7TuDN3g6rCGCn .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutside0,#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutside2{fill:#000}#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutside1,#mermaid-svg-Fgd7TuDN3g6rCGCn .taskTextOutside3{fill:#000}#mermaid-svg-Fgd7TuDN3g6rCGCn .active0,#mermaid-svg-Fgd7TuDN3g6rCGCn .active1,#mermaid-svg-Fgd7TuDN3g6rCGCn .active2,#mermaid-svg-Fgd7TuDN3g6rCGCn .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-Fgd7TuDN3g6rCGCn .activeText0,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeText1,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeText2,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeText3{fill:#000 !important}#mermaid-svg-Fgd7TuDN3g6rCGCn .done0,#mermaid-svg-Fgd7TuDN3g6rCGCn .done1,#mermaid-svg-Fgd7TuDN3g6rCGCn .done2,#mermaid-svg-Fgd7TuDN3g6rCGCn .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-Fgd7TuDN3g6rCGCn .doneText0,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneText1,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneText2,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneText3{fill:#000 !important}#mermaid-svg-Fgd7TuDN3g6rCGCn .crit0,#mermaid-svg-Fgd7TuDN3g6rCGCn .crit1,#mermaid-svg-Fgd7TuDN3g6rCGCn .crit2,#mermaid-svg-Fgd7TuDN3g6rCGCn .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCrit0,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCrit1,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCrit2,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCrit0,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCrit1,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCrit2,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-Fgd7TuDN3g6rCGCn .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-Fgd7TuDN3g6rCGCn .milestoneText{font-style:italic}#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCritText0,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCritText1,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCritText2,#mermaid-svg-Fgd7TuDN3g6rCGCn .doneCritText3{fill:#000 !important}#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCritText0,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCritText1,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCritText2,#mermaid-svg-Fgd7TuDN3g6rCGCn .activeCritText3{fill:#000 !important}#mermaid-svg-Fgd7TuDN3g6rCGCn .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-Fgd7TuDN3g6rCGCn g.classGroup text .title{font-weight:bolder}#mermaid-svg-Fgd7TuDN3g6rCGCn g.clickable{cursor:pointer}#mermaid-svg-Fgd7TuDN3g6rCGCn g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-Fgd7TuDN3g6rCGCn g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-Fgd7TuDN3g6rCGCn .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-Fgd7TuDN3g6rCGCn .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .dashed-line{stroke-dasharray:3}#mermaid-svg-Fgd7TuDN3g6rCGCn #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn .commit-id,#mermaid-svg-Fgd7TuDN3g6rCGCn .commit-msg,#mermaid-svg-Fgd7TuDN3g6rCGCn .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-Fgd7TuDN3g6rCGCn g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-Fgd7TuDN3g6rCGCn g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-Fgd7TuDN3g6rCGCn g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-Fgd7TuDN3g6rCGCn .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-Fgd7TuDN3g6rCGCn .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-Fgd7TuDN3g6rCGCn .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-Fgd7TuDN3g6rCGCn .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-Fgd7TuDN3g6rCGCn .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-Fgd7TuDN3g6rCGCn .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-Fgd7TuDN3g6rCGCn .edgeLabel text{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Fgd7TuDN3g6rCGCn .node circle.state-start{fill:black;stroke:black}#mermaid-svg-Fgd7TuDN3g6rCGCn .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-Fgd7TuDN3g6rCGCn #statediagram-barbEnd{fill:#9370db}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-state .divider{stroke:#9370db}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-Fgd7TuDN3g6rCGCn .note-edge{stroke-dasharray:5}#mermaid-svg-Fgd7TuDN3g6rCGCn .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-Fgd7TuDN3g6rCGCn .error-icon{fill:#522}#mermaid-svg-Fgd7TuDN3g6rCGCn .error-text{fill:#522;stroke:#522}#mermaid-svg-Fgd7TuDN3g6rCGCn .edge-thickness-normal{stroke-width:2px}#mermaid-svg-Fgd7TuDN3g6rCGCn .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-Fgd7TuDN3g6rCGCn .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-Fgd7TuDN3g6rCGCn .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-Fgd7TuDN3g6rCGCn .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-Fgd7TuDN3g6rCGCn .marker{fill:#333}#mermaid-svg-Fgd7TuDN3g6rCGCn .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-Fgd7TuDN3g6rCGCn { color: rgba(0, 0, 0, 0.75); font: ; } fetch/clone push commit add pull checkout Remote Repository index workspace

    git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

    git pull 是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

    二、初始化

    方式一:本地项目push到服务器

    在本地建立Git版本库:

    初始化

    git init

    添加.gitignore文件

    touch .gitignore .class .classpath .project build bin .bak .settings Thumbs.db .DS_Store ._.DS_Store logs target *.iml .idea - 添加README.md文件 ```bash touch README.md ### 一、概述 ``` - 提交到本地仓库 ```bash git add . git commit -m "first commit" # 添加并提交 # git commit -am "first commit" ```

    在gitee或者github上创建项目

    **创建项目选择语言就行了,不要选择添加 .gitignore。**创建.gitignore就相当于在服务端已经git init了,再同步就需要编辑冲突了。

    建立和连接远程仓库:

    origin是默认别名

    # 在github上,新建 Repository,名称和本地仓库一致,选择SSH地址 git remote add origin ssh://duke147@~/demo.git # 重新指定 # git remote set-url origin ssh://duke147@~/demo.git git push -u origin master

    方式二:服务器项目clone到本地

    git clone ssh://duke147@~/cbei_isp_doc.git

    三、常用操作

    远程仓库

    # 查看远程仓库 git remote -v # 添加或指定远程仓库地址 git remote set-url origin "ssh:..." git config remote.origin.url "ssh:..." # 查看git配置 git config --list # 删除连接 git remote rm origin

    主干合并分支

    # 更新代码 (develop)$ git pull # 提交到本地develop分支 (develop)$ git commit -m "message" # 提交到服务器develop分支 (develop)$ git push # 将不提交部分放入stash中 (develop)$ git stash # 切换到主干 (develop)$ git checkout master # 更新代码 (master)$ git pull # 将develop合并到master (master)$ git merge develop # 提交到本地master (master)$ git commit -m '备注' # 提交到主干服务器 (master)$ git push # 切换到分支 (master)$ git checkout develop # 从stash中恢复未提交部分 (develop)$ git stash pop

    常用命令

    # 查看状态gst = git status git status # 将服务器内容拉到本地仓库 git fetch # 切换到master分支 git checkout master # 将dev分支合并到当前分支(master)中 git merge dev # 比较workspace和Repository差异 git diff # 查看本地所有分支 git branch # 查看远程所有分支 git branch -r # 查看本地和远程的所有分支 git branch -a # 提交到本地 git commit -m "message" # 提交到服务器 git push # 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作) git reflog # 不能查看已经删除了的commit记录 git log

    Git快捷命令

    # 设置快捷方式 vim ~/.gitconfig

    参考

    g - git gst - git status gl - git pull gup - git pull --rebase gp - git push gd - git diff gdc - git diff --cached gdv - git diff -w "$@" | view gc - git commit -v gc! - git commit -v --amend gca - git commit -v -a gca! - git commit -v -a --amend gcmsg - git commit -m gco - git checkout gcm - git checkout master gr - git remote grv - git remote -v grmv - git remote rename grrm - git remote remove gsetr - git remote set-url grup - git remote update grbi - git rebase -i grbc - git rebase --continue grba - git rebase --abort gb - git branch gba - git branch -a gcount - git shortlog -sn gcl - git config --list gcp - git cherry-pick glg - git log --stat --max-count=10 glgg - git log --graph --max-count=10 glgga - git log --graph --decorate --all glo - git log --oneline --decorate --color glog - git log --oneline --decorate --color --graph gss - git status -s ga - git add gm - git merge grh - git reset HEAD grhh - git reset HEAD --hard gclean - git reset --hard && git clean -dfx gwc - git whatchanged -p --abbrev-commit --pretty=medium gsts - git stash show --text gsta - git stash gstp - git stash pop gstd - git stash drop ggpull - git pull origin $(current_branch) ggpur - git pull --rebase origin $(current_branch) ggpush - git push origin $(current_branch) ggpnp - git pull origin $(current_branch) && git push origin $(current_branch) glp - _git_log_prettily

    四、IDEA

    本地项目上传到GitHub #mermaid-svg-O2UzHlT60XSL699a .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-O2UzHlT60XSL699a .label text{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .node rect,#mermaid-svg-O2UzHlT60XSL699a .node circle,#mermaid-svg-O2UzHlT60XSL699a .node ellipse,#mermaid-svg-O2UzHlT60XSL699a .node polygon,#mermaid-svg-O2UzHlT60XSL699a .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-O2UzHlT60XSL699a .node .label{text-align:center;fill:#333}#mermaid-svg-O2UzHlT60XSL699a .node.clickable{cursor:pointer}#mermaid-svg-O2UzHlT60XSL699a .arrowheadPath{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-O2UzHlT60XSL699a .flowchart-link{stroke:#333;fill:none}#mermaid-svg-O2UzHlT60XSL699a .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-O2UzHlT60XSL699a .edgeLabel rect{opacity:0.9}#mermaid-svg-O2UzHlT60XSL699a .edgeLabel span{color:#333}#mermaid-svg-O2UzHlT60XSL699a .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-O2UzHlT60XSL699a .cluster text{fill:#333}#mermaid-svg-O2UzHlT60XSL699a div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-O2UzHlT60XSL699a .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-O2UzHlT60XSL699a text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-O2UzHlT60XSL699a .actor-line{stroke:grey}#mermaid-svg-O2UzHlT60XSL699a .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-O2UzHlT60XSL699a .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-O2UzHlT60XSL699a #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-O2UzHlT60XSL699a .sequenceNumber{fill:#fff}#mermaid-svg-O2UzHlT60XSL699a #sequencenumber{fill:#333}#mermaid-svg-O2UzHlT60XSL699a #crosshead path{fill:#333;stroke:#333}#mermaid-svg-O2UzHlT60XSL699a .messageText{fill:#333;stroke:#333}#mermaid-svg-O2UzHlT60XSL699a .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-O2UzHlT60XSL699a .labelText,#mermaid-svg-O2UzHlT60XSL699a .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-O2UzHlT60XSL699a .loopText,#mermaid-svg-O2UzHlT60XSL699a .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-O2UzHlT60XSL699a .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-O2UzHlT60XSL699a .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-O2UzHlT60XSL699a .noteText,#mermaid-svg-O2UzHlT60XSL699a .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-O2UzHlT60XSL699a .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-O2UzHlT60XSL699a .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-O2UzHlT60XSL699a .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-O2UzHlT60XSL699a .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .section{stroke:none;opacity:0.2}#mermaid-svg-O2UzHlT60XSL699a .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-O2UzHlT60XSL699a .section2{fill:#fff400}#mermaid-svg-O2UzHlT60XSL699a .section1,#mermaid-svg-O2UzHlT60XSL699a .section3{fill:#fff;opacity:0.2}#mermaid-svg-O2UzHlT60XSL699a .sectionTitle0{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .sectionTitle1{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .sectionTitle2{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .sectionTitle3{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-O2UzHlT60XSL699a .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .grid path{stroke-width:0}#mermaid-svg-O2UzHlT60XSL699a .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-O2UzHlT60XSL699a .task{stroke-width:2}#mermaid-svg-O2UzHlT60XSL699a .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .taskText:not([font-size]){font-size:11px}#mermaid-svg-O2UzHlT60XSL699a .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-O2UzHlT60XSL699a .task.clickable{cursor:pointer}#mermaid-svg-O2UzHlT60XSL699a .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-O2UzHlT60XSL699a .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-O2UzHlT60XSL699a .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-O2UzHlT60XSL699a .taskText0,#mermaid-svg-O2UzHlT60XSL699a .taskText1,#mermaid-svg-O2UzHlT60XSL699a .taskText2,#mermaid-svg-O2UzHlT60XSL699a .taskText3{fill:#fff}#mermaid-svg-O2UzHlT60XSL699a .task0,#mermaid-svg-O2UzHlT60XSL699a .task1,#mermaid-svg-O2UzHlT60XSL699a .task2,#mermaid-svg-O2UzHlT60XSL699a .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-O2UzHlT60XSL699a .taskTextOutside0,#mermaid-svg-O2UzHlT60XSL699a .taskTextOutside2{fill:#000}#mermaid-svg-O2UzHlT60XSL699a .taskTextOutside1,#mermaid-svg-O2UzHlT60XSL699a .taskTextOutside3{fill:#000}#mermaid-svg-O2UzHlT60XSL699a .active0,#mermaid-svg-O2UzHlT60XSL699a .active1,#mermaid-svg-O2UzHlT60XSL699a .active2,#mermaid-svg-O2UzHlT60XSL699a .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-O2UzHlT60XSL699a .activeText0,#mermaid-svg-O2UzHlT60XSL699a .activeText1,#mermaid-svg-O2UzHlT60XSL699a .activeText2,#mermaid-svg-O2UzHlT60XSL699a .activeText3{fill:#000 !important}#mermaid-svg-O2UzHlT60XSL699a .done0,#mermaid-svg-O2UzHlT60XSL699a .done1,#mermaid-svg-O2UzHlT60XSL699a .done2,#mermaid-svg-O2UzHlT60XSL699a .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-O2UzHlT60XSL699a .doneText0,#mermaid-svg-O2UzHlT60XSL699a .doneText1,#mermaid-svg-O2UzHlT60XSL699a .doneText2,#mermaid-svg-O2UzHlT60XSL699a .doneText3{fill:#000 !important}#mermaid-svg-O2UzHlT60XSL699a .crit0,#mermaid-svg-O2UzHlT60XSL699a .crit1,#mermaid-svg-O2UzHlT60XSL699a .crit2,#mermaid-svg-O2UzHlT60XSL699a .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-O2UzHlT60XSL699a .activeCrit0,#mermaid-svg-O2UzHlT60XSL699a .activeCrit1,#mermaid-svg-O2UzHlT60XSL699a .activeCrit2,#mermaid-svg-O2UzHlT60XSL699a .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-O2UzHlT60XSL699a .doneCrit0,#mermaid-svg-O2UzHlT60XSL699a .doneCrit1,#mermaid-svg-O2UzHlT60XSL699a .doneCrit2,#mermaid-svg-O2UzHlT60XSL699a .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-O2UzHlT60XSL699a .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-O2UzHlT60XSL699a .milestoneText{font-style:italic}#mermaid-svg-O2UzHlT60XSL699a .doneCritText0,#mermaid-svg-O2UzHlT60XSL699a .doneCritText1,#mermaid-svg-O2UzHlT60XSL699a .doneCritText2,#mermaid-svg-O2UzHlT60XSL699a .doneCritText3{fill:#000 !important}#mermaid-svg-O2UzHlT60XSL699a .activeCritText0,#mermaid-svg-O2UzHlT60XSL699a .activeCritText1,#mermaid-svg-O2UzHlT60XSL699a .activeCritText2,#mermaid-svg-O2UzHlT60XSL699a .activeCritText3{fill:#000 !important}#mermaid-svg-O2UzHlT60XSL699a .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-O2UzHlT60XSL699a g.classGroup text .title{font-weight:bolder}#mermaid-svg-O2UzHlT60XSL699a g.clickable{cursor:pointer}#mermaid-svg-O2UzHlT60XSL699a g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-O2UzHlT60XSL699a g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-O2UzHlT60XSL699a .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-O2UzHlT60XSL699a .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-O2UzHlT60XSL699a .dashed-line{stroke-dasharray:3}#mermaid-svg-O2UzHlT60XSL699a #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a .commit-id,#mermaid-svg-O2UzHlT60XSL699a .commit-msg,#mermaid-svg-O2UzHlT60XSL699a .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-O2UzHlT60XSL699a g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-O2UzHlT60XSL699a g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-O2UzHlT60XSL699a g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-O2UzHlT60XSL699a g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-O2UzHlT60XSL699a .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-O2UzHlT60XSL699a .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-O2UzHlT60XSL699a .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-O2UzHlT60XSL699a .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-O2UzHlT60XSL699a .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-O2UzHlT60XSL699a .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-O2UzHlT60XSL699a .edgeLabel text{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O2UzHlT60XSL699a .node circle.state-start{fill:black;stroke:black}#mermaid-svg-O2UzHlT60XSL699a .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-O2UzHlT60XSL699a #statediagram-barbEnd{fill:#9370db}#mermaid-svg-O2UzHlT60XSL699a .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-O2UzHlT60XSL699a .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-O2UzHlT60XSL699a .statediagram-state .divider{stroke:#9370db}#mermaid-svg-O2UzHlT60XSL699a .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-O2UzHlT60XSL699a .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-O2UzHlT60XSL699a .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-O2UzHlT60XSL699a .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-O2UzHlT60XSL699a .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-O2UzHlT60XSL699a .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-O2UzHlT60XSL699a .note-edge{stroke-dasharray:5}#mermaid-svg-O2UzHlT60XSL699a .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-O2UzHlT60XSL699a .error-icon{fill:#522}#mermaid-svg-O2UzHlT60XSL699a .error-text{fill:#522;stroke:#522}#mermaid-svg-O2UzHlT60XSL699a .edge-thickness-normal{stroke-width:2px}#mermaid-svg-O2UzHlT60XSL699a .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-O2UzHlT60XSL699a .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-O2UzHlT60XSL699a .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-O2UzHlT60XSL699a .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-O2UzHlT60XSL699a .marker{fill:#333}#mermaid-svg-O2UzHlT60XSL699a .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-O2UzHlT60XSL699a { color: rgba(0, 0, 0, 0.75); font: ; } IDEA VCS Import into Version Contral Share Project on GitHub

    五、GitHub

    Fork

    Fork,本身并不是git工具中的一个命令,它是在GitHub上的概念,是另一种clone方式——在服务器端的clone。

    upstream repo和origin repo区别

    upstream repo:你只可以拉取最新代码(即 git fetch ),从而保证你本地的仓库与源仓库同步

    origin repo:就是你自己的repo(自己创建的,或者 fork 的项目)你可以做 任何推拉操作(pull and push)

    六、常见异常

    1.Git 无法通过 SSH 连接

    本机防火墙或 ISP 设置的防火墙阻止端口 22 上的 SSH 连接。(Free WiFi禁掉22)

    > git push --set-upstream origin master Connection reset by [server_ip] port 22 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

    解决:

    选择https方式连接或者打开22端口。

    2.服务器版本强制同步

    git push --set-upstream origin master ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@gitee.com:duke147/java_exception.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

    解决:

    # 强制提交 git push -f origin master
    Processed: 0.009, SQL: 9