git配置
在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。
- 配置提交人姓名:
git config --global user.name 提交人姓名
- 配置提交人邮箱:
git config --global user.email 提交人邮箱
- 查看git配置信息:
git config --list
其中 --global
表示 只适用于当前登录用户的配置,对应配置文件路径(~/.gitconfig
)
还可以按需替换成:
-
--local
:适用于特定git项目的配置; -
--system
:适用于系统所有用户和所有项目的值,配置文件路径:(/usr/local/git/etc/gitconfig
),用终端编辑:git config --system -e
提交代码(本地仓库)
git init
初始化git仓库
git status
查看文件状态(可以看到哪些文件还没被git管理)
git add 文件列表
追踪想要管理的文件,把它们添加到暂存区中
git add .
追踪项目全部文件
git commit -m '提交说明'
向仓库中提交代码,最好每次提交只包含一个功能
git log
查看提交记录
git commit -a -m '提交说明'
如果之前已经被暂存区追踪的文件在工作目录被修改,这个命令可以把这个modified变化越过暂存区,直接提交到git仓库形成历史记录。或者理解为自动先add到暂存区,然后提交(等于两步并了一步,便捷的操作)
撤销操作/恢复记录
-
恢复个别文件的修改操作:
git checkout <文件>
- 用暂存区中的文件覆盖工作目录中的文件
git rm --cached <文件>
- 将文件从暂存区中删除 -
恢复一次整体的提交记录
先git log
查询一下提交记录
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 强制删除)
远程操作
-
git push <远程仓库地址(或仓库地址别名)> <分支名称>
-->仓库别名可以通过如下操作配置: -
git remote add <远程仓库地址别名> <远程仓库地址>
举例:git remote add origin https://github.com/axxxxo/animal_server.git
-
git push -u <远程仓库地址别名> <分支名称>
-->-u
记住推送地址及分支,下次推送只需要输入git push
即可 -
git clone <仓库地址>
克隆远端数据仓库到本地 -
git pull <远程仓库地址(或仓库地址别名)> <分支名称>
拉取远程仓库中最新的版本,第一次要加地址和分支名,以后拉取远程更新只需git pull
举例:git pull origin master
--> origin 是之前用 remote 设置的仓库别名
还可以先指定本地分支到远程的分支,然后再去pull
:
git branch --set-upstream-to=origin/master master
git pull
修改远程仓库地址别名
- 删除后重新添加
git remote rm origin
注:此处的 origin 为自定义的远程仓库别名,下同
git remote add origin <url>
- 直接修改地址
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
网友评论