Loading... ## 本地操作 ```shell // commit 提交,在当前head指针指向的节点后添加新节点,若head指针也指向分支名,则该分支名也跟着移动 git commit // 在指定位置(当前head指向节点)添加分支名, git branch [新分支名] ([位置]) // 删除分支 git branch -d [分支名] git branch -r -d[远程分支名] // 移动head指针,位置可以是哈希值地址或者分支名,当位置是哈希值时,HEAD不再指向分支名,而是直接指向节点地址 git checkout [位置] // 如果想同时新建分支,并移动head指针指向新分支名 git checkout -b [新分支名] // 将某分支与当前head指向的节点合并,生成一个新的节点,若head指针也指向分支名,则该分支名也跟着移动 git merge [某分支名] // 变基合并,线性的合并, git rebase [基分支名] ([要移动的标签名]) // 移动分支标签名 -f 表示强制移动 git branch -f [标签名] ([要去的位置]) // 本地代码库回退 git reset HEAD^ 回退一次提交 git reset HEAD^^ 回退两次提交 git reset HEAD~3 回退三次提交 // 远程代码库回退 本质是提交一个相反的操作,所以可以看出,一旦推送的远程代码库,实质上是删除不了的 git revert HEAD 记录当前的提交的反向操作并提交 // 择优挑选提交(可以连续多个,有先后顺序) git cherry-pick [位置] [位置]... // 交互式 rebase ,实现上一个同样的功能 git rebase -i [位置] //加标签,默认当前位置 git tag [标签名] ([位置]) // 描述当前位置,根据打的标签推定现在位置位于版本大概位置 git describe ([位置]) // 高级跳转节点,向上一个节点,再向右侧父节点跳转,再向上跳转三个节点。 git branch [节点名] [位置]~^2~3 ``` ## 远程 ```shell // 从远程仓库下载本地仓库中缺失的提交记录 // 更新远程分支指针(如origin/master origin/其他分支) // 不会修改你本地仓库的状态,不会更新你的master 分支,也不会修改磁盘的文件 git fetch http://....... git fetch git://...... // git fetch + git merge [刚刚下载的分支] = git pull 所以该命令可以同步远程仓库的内容 git pull git://...... // 远程仓库接收了本地的master,同时本地的origin/master 也更新到本地的master分支 git push // 同步命令,使用变基或者合并来消除冲突 git pull --rebase;git push (使用rebase) git pull ; git push (使用merge) ``` ## 应用注意事项 https://blog.csdn.net/ShuSheng0007/article/details/80791849 最后修改:2020 年 08 月 06 日 02 : 14 PM © 允许规范转载