常用Git命令

1 常用流程

初始化本地repo;

针对每个优化版本,修改的散点及时add,并随时 git diff --cached;

验证一个feature OK后git commit -m “message”;

git init
git status  #列出未跟踪的文件、已修改的文件、已暂存的文件
git add --all
git commit -m "message"

备注:

  • git文件的四种状态,可参考这里
  • commit规范:可安装vscode插件git-commit-plugin,参考这里
  • git add 时指定忽略中间权重、log等文件:新建 .gitignore,在其中添加指定要忽略的文件夹和文件,支持模糊匹配,可参考这里

2 差异比较

git diff --cached # 比较暂存区和最新版本库的增删改
git diff HEAD     # 比较工作区+暂存区 和 最新版本库的增删改
git diff HEAD^ HEAD <--stat>   # 比较从HEAD^ -> HEAD的变换【其他hash值同理】
git diff hash1 hash2 <--stat>

备注:

  1. 后面均可以指定具体文件;
  2. git diff 只能比较共同文件,且有两种情况,容易混淆,故暂不用;
  3. git diff 详细用法,可参考这里

3 版本、分支、标签、撤销和修改

### 版本
git log <--pretty=oneline>
git reflog     # 可看全部操作
git reset --hard commit_id 或则是 git reset --hard HEAD~n  #版本回退

### 分支(查看、创建、切换、合并、删除)
git branch      #查看所有分支
git branch dev  #创建分支
git checkout dev 或者 git switch dev
git merge dev      #把dev分支合并到当前分支 【可能需要解决冲突,解决后还需要add和commit】
git merge --no-ff -m "merge with no-ff" dev #不用fast-forward,保留合并历史,然后再删除dev分支
git branch -d dev  #删除分支

### 标签
git tag #查看所有标签
git tag tagname <commit-id> #指定某个版本打标签
git tag -a v0.1 -m "version 0.1 released" 1094adb #指定某个版本打标签时、附加message
git show <tagname>   #查看指定版本
git tag -d v0.1  #删除v0.1标签

### 撤销修改(下面假设已经add之后,需要分两步撤销)
git reset HEAD <file>  #撤销暂存区的修改
git checkout -- <file> #撤销工作区的修改

### 删除文件
git rm test.py  # 删除暂存区或分支上的文件, 本地也不再需要
git rm --cached test.py  # 删除暂存区或分支上的文件, 但本地又需要使用

4 上传

上传本地文件、文件夹到Github,可参考这里

posted @ 2024-04-27 21:55  天地辽阔  阅读(1)  评论(0编辑  收藏  举报