本地操作

// 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

远程

// 从远程仓库下载本地仓库中缺失的提交记录
// 更新远程分支指针(如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 日
如果觉得我的文章对你有用,请随意赞赏