前言:
本文记录的是常见的Git命令及其作用
增删改查、找回,重置修改文件
1 | git help # 显示command的help |
查看文件diff
1 | git diff # 比较当前文件和暂存区文件差异 git diff |
查看提交记录
1 | git log git log # 查看该文件每次提交记录 |
查看、切换、创建和删除分支
1 | git br -r # 查看远程分支 |
分支合并和rebase
1 | git merge # 将branch分支合并到当前分支 |
Git补丁管理(方便在多台机器上开发同步时用)
1 | git diff > ../sync.patch |
Git暂存管理
1 | git stash # 暂存 |
Git补丁管理(方便在多台机器上开发同步时用)
1 | git diff > ../sync.patch |
Git远程分支管理
1 | git pull # 抓取远程仓库所有分支更新并合并到本地 |
Git远程仓库管理
1 | GitHub |
创建远程仓库
1 | git clone –bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库 |
git init
在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.
git clone
获取一个url对应的远程Git repo, 创建一个local copy.一般的格式是git clone [url]
.
clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以git clone [url] newname
指定.
git status
查询repo的状态.
1 | git status -s: -s表示short, -s的输出标记会有两列,第一列是对staging区域而言,第二列是对working目录而言. |
git log
show commit history of a branch(查看历史提交信息).
1 | git log –oneline –number #每条log只显示一行,显示number条. |
git add
查询repo的状态.
1 | 在提交之前,Git有一个暂存区(staging ),可以放入新添加的文件或者加入新的改动. commit时提交的改动是上一次加入到staging 中的改动,而不是我们disk上的改动. |
git diff
1 | show diff of unstaged changes #此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容. |
git commit
1 | 提交已经被add进来的改动. |
git reset
(1) 概述
1 | undo changes and commits. |
(2) 总结
1 | git reset --mixed id,是将git的HEAD变了(也就是提交记录变了),但文件并没有改变,(也就是working tree并没有改变). 取消了commit和add的内容. |
git revert
反转撤销提交.只要把出错的提交(commit)的名字(reference)作为参数传给命令就可以了.
1 | git revert HEAD: 撤销最近的一个提交. |
git rm
1 | git rm file: 从staging区移除文件,同时也移除出工作目录. |
git clean
1 | git clean是从工作目录中移除没有track的文件. |
git mv
1 | git rm - - cached orig; mv orig new; git add new |
git stash
1 | 把当前的改动压入一个栈. |
git branch
1 | git branch可以用来列出分支,创建分支和删除分支. |
git checkout
1 | git checkout (branchname) |
git merge
把一个分支merge进当前的分支.
1 | git merge [alias]/[branch] #把远程分支merge到当前分支. |
git tag
1 | tag a point in history as import. |
git remote
1 | git remote #列出remote aliases. |
git fetch
1 | download new branches and data from a remote repository. |
git pull
1 | fetch from a remote repo and try to merge into the current branch. |
git rebase
1 | –rebase不会产生合并的提交,它会将本地的所有提交临时保存为补丁(patch),放在”.git/rebase”目录中,然后将当前分支更新到最新的分支尖端,最后把保存的补丁应用到分支上. |
git push
1 | git push [alias] [branch] |
git reflog
1 | git reflog是对reflog进行管理的命令,reflog是git用来记录引用变化的一种机制,比如记录分支的变化或者是HEAD引用的变化. |
特殊符号
1 | ^代表父提交,当一个提交有多个父提交时,可以通过在^后面跟上一个数字,表示第几个父提交: ^相当于^1. |
—— 感谢您的阅读 ( ゚∀゚) 有什么疑问可以在下方留言哦 ——