git命令手册

2021-03-10  本文已影响0人  AizawaSayo

git配置

在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。

其中 --global 表示 只适用于当前登录用户的配置,对应配置文件路径(~/.gitconfig)
还可以按需替换成:

提交代码(本地仓库)

git init 初始化git仓库
git status 查看文件状态(可以看到哪些文件还没被git管理)
git add 文件列表 追踪想要管理的文件,把它们添加到暂存区中
git add . 追踪项目全部文件
git commit -m '提交说明' 向仓库中提交代码,最好每次提交只包含一个功能
git log 查看提交记录
git commit -a -m '提交说明' 如果之前已经被暂存区追踪的文件在工作目录被修改,这个命令可以把这个modified变化越过暂存区,直接提交到git仓库形成历史记录。或者理解为自动先add到暂存区,然后提交(等于两步并了一步,便捷的操作)

撤销操作/恢复记录

git log
commit 3f8135c32d508d250b83fe12699c6b65db87b3af (HEAD -> master, origin/master)
Author: xxxxxx <xxxxxxxx@qq.com>
Date:   Thu Nov 7 22:19:04 2020 +0800

git reset --hard commitID 再将仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录

git reset --hard 3f8135c32d508d250b83fe12699c6b65db87b3af

缓存更改

将自己修改的代码片段在本地仓库做一个临时缓存
git stash

查看缓存代码片段
git stash list

git stash list
stash@{0}: WIP on master: 657e136 search page modified

这样可以无视冲突直接 pull 远程代码
然后再把自己之前缓存的代码再合并到更新后的代码中去

git stash pop stash@{0}
Auto-merging lib/pages/search_page.dart
CONFLICT (content): Merge conflict in lib/pages/search_page.dart

stash@{0} 就是git stash时的标记,也可使用git stash save XXX 来自定义一个标记,方便自己记忆和查询

分支命令

git branch 查看分支
git branch 分支名称 创建分支
git checkout 分支名称 切换分支
git merge 被合并分支 合并分支(合并只是把分支合并到主分支上,分支本身仍然还存在)
git branch -d 分支名称 删除分支(分支被合并后才允许删除)(-D 强制删除)

远程操作

修改远程仓库地址别名
  1. 删除后重新添加
    git remote rm origin 注:此处的 origin 为自定义的远程仓库别名,下同
    git remote add origin <url>
  2. 直接修改地址
    git remote origin set-url <url>

另,现在需要token验证,可以直接把 token 拼接在仓库地址免去每次验证:
git remote add origin https://[token]@github.com/[user]/[repo].git

已经存在的项目也可以去它的📃.git/config,如下在[remote "origin"]的地址中添加 token:

删除 git 远程仓库的目录/文件

有时候在.gitignore里漏标记了一些目录/文件,但已经全部提交到github上了,如本地环境配置文件等。那么如何通过命令来删除 github 远程仓库上对应的目录或文件,而保留本地的呢?

以删除dist目录为例:

git rm -r --cached dist
git commit -m '删除 dist 文件夹'
git push -u origin master

上一篇 下一篇

猜你喜欢

热点阅读