git命令

前言

虽然有很多git图形界面工具,某些idea也提供git操作,但掌握具体实现的命令还是很重要。

正文

提交与拉取代码

  1. 暂存
    所有文件:git add .
    指定文件:git add file_path_1 file_path_2

  2. 提交
    git commit -m "提交信息"

  3. 推送
    git push

  4. 拉取
    git pull

分支

  1. 查看所有远程分支
    git branch -r
    本地分支则不需要-r

  2. 切换至某分支
    git checkout 目标分支

  3. 合并分支
    git merge 分支名
    如:需要将test分支合到master,则需先切换至master,然后 git merge test

  4. 删除远程分支
    git push origin -d 分支名

撤销与回滚

参考

  1. 工作区:没有执行 git add
    丢弃全部,新增的文件被删除,删除的文件会恢复。回到暂存区之前
    丢弃全部:git checkout -- .
    丢弃指定文件:git checkout -- file_path

  2. 暂存区:已经执行 git add,没有执行 git commit
    仅改变暂存区,不改变工作区,即工作区的文件没有变化。
    全部:git reset HEAD .
    指定文件:git reset HEAD file_path

  3. 本地分支:执行了 git commit,没有 git push
    回到指定版本:git reset --hard <commit id>
    回到最新的一次提交:git reset --hard HEAD^
    保留代码,回到git add之前:git reset HEAD^
    注:在cmd控制台中代表换行符,所以需要使用^

  4. 远程分支:已经 git push
    删除记录:hard不保留代码,soft保留代码
    git reset --hard <需要到达的commit id>
    git push origin HEAD --force
    保留记录,通过新的commit来回滚版本:
    git revert <指定的commit id>
    git push

本地管理多账户

参考
TODO

标签

参考

  1. 查看

    所有标签:git tag

    指定标签:git tag -l <tag_name>

    标签信息:git show <tag_name>

  2. 提交

    git tag <tag_name> -m <tag信息>

  3. 推送

    单个标签:git push origin <tag_name>

    所有标签:git push origin --tags

  4. 删除

    git tag -d <tag_name>

    git push origin -d <tag_name>

  5. 补增

    git tag -a <tag_name> <commit_id>

查看两个分支间的差异

注:本地需要有这两个分支

  1. 查看总差异
    git diff 分支1 分支2 --stat
    -标记的是 左分支有,右分支没有;+标记则相反;+-标记的是两边有修改的。
  2. 查看具体文件的差异
    git diff 分支1 分支2 文件路径
    +-标记与上面的含义相同

其他

多个commit合并merge

posted @ 2022-05-12 18:49  F___Q  阅读(264)  评论(0)    收藏  举报