GIT 命令
git basics
git init |
在指定的⽬录下创建⼀个空的 git repo。不带参数将在当前⽬录下创建⼀个 git repo。 |
---|---|
git clone |
克隆⼀个指定 repo 到本地。指定的 repo 可 以是本地⽂件系统或者由 HTTP 或 SSH 指 定的远程路径。 |
git config user.name |
针对当前 repo 配置⽤户名。使⽤ –global 参数将配置全局⽤户名。 |
git add |
将指定目录的所有修改加⼊到下⼀次 commit 中。把 |
git commit -m “ |
提交暂存区的修改,使用指定的 |
git status | 显示哪些⽂件已被 staged、未被 staged 以及未跟踪 (untracked)。 |
git log | 以缺省格式显示全部 commit 历史。更多自定义参数请参考后续部分。 |
git diff
git diff | ⽐较⼯作区和暂存区的修改。 |
---|---|
git diff HEAD | ⽐较工作区和上⼀次 commit 后的修改。 |
git diff –cached | ⽐较暂存区和上⼀次 commit 后的修改。 |
undoing change
git revert |
对指定 |
---|---|
git reset |
将 |
rewaiting git history
git commit -m |
将当前 staged 修改合并到最近⼀次的 commit 中。 |
---|---|
git rebase |
基于 |
git reflog | 显示本地 repo 的所有 commit ⽇志。 |
git branches
git branch | 显示本地 repo 的所有分⽀。 |
---|---|
git switch -c |
创建并切换到⼀个新的名为 |
git merge |
将指定 |
remote repositories
git remote add |
添加⼀个新的远程连接。添加后可使用 |
---|---|
git fetch |
从指定 |
git pull |
从指定 |
git push |
将本地指定 |
git config
git config – global user.name |
配置当前用户名,使⽤–global 参数将针对当前系统登录用户生效。 |
---|---|
git config – global user.email |
配置当前⽤户 Email。 |
git config – global alias. |
配置⼀个 git 命令的快捷⽅式。例如:配置 ”alias.glog log –graph –oneline”使 ”git glog”相当于 ”git log –graph –oneline”. |
git config – system core.editor |
配置⽂本编辑器,例如 vi,在必要时⾃动打开此⽂本编辑器。 |
git config – global –edit | 打开当前⽤户的 git 全局配置并编辑。 |
git log
git log - |
限制 log 的显示数量。例如:”git log -5”仅 显示最新 5 条 commit。 |
---|---|
git log –oneline | 每⾏显示⼀条 commit。 |
git log –author “ |
按提交者名字搜索并显示 commit。 |
git log –grep “ |
按指定内容搜索并显示 commit。 |
git log |
显示指定范围的 commit。范围参数可以是 commit ID、分⽀名称、HEAD 或任意相对 位置。 |
git log – |
仅显示包含指定⽂件修改的 commit。 |
git log –graph | 使⽤–graph 参数显示图形化的 branch 信 息。 |
git reset
git reset | 移除所有暂存区的修改,但不会修改⼯作区。 |
---|---|
git reset –hard | 移除所有暂存区的修改,并强制删除所有⼯作区的修改。 |
git reset |
将当前分⽀回滚到指定 |
git reset |
将当前分⽀回滚到指定 |
git rebase
git rebase -i |
以交互模式对当前分支做 rebase |
---|
git pull
git pull –rebase |
抓取所有的远程分支,并以 rebase 模式并入本地的 repo 而不是 merge |
---|
git push
git push |
将本地分⽀推送到远程。不要使⽤–force 参数,除⾮你完全明⽩此操作的后果。 |
---|---|
git push |
使⽤ push 命令并不会⾃动将本地 tag 推送 到远程。加上–tags 参数会将所有本地 tag 推送到远程。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZengXPang's blog!
评论