1.git init
- 在本地创建一个新仓库(repo),并在当前文件夹下创建一个.git文件夹
2.git clone [url]
- 获取一个url对应的远程仓库,获取下来的仓库会以url最后一个斜线后面的名称命名,如果想要指定特定的名称,可以git clone [url] newname指定;
3.git status
- 查看本地仓库的状态
4.git log
- 查看历史记录
5.git add [fileName]
- 将制定文件放在暂存区
- git add . 递归的添加当前工作目录中所有文件
6.git commit
- git commit -m [the commit message] 在提交前写一下本次提交的提示信息
- git commit [fileName] 提交已经被add进暂存区的文件(改动)
- git commit -a 将所有已经存放在暂存区的改动进行提交
7.git diff
- 比较工作目录中当前文件和暂存区域快照之间的差异
- git diff -cached 比较暂存起来的文件和上次提交时的快照之间的区别
8.git reset
- git reset [哈希值] 还原到[哈希值]对应的提交版本
- git reset --mixed [哈希值] 只取消commit和add版本,工作目录文件不变
- git reset --soft [哈希值] 只取消commit,不取消add,工作目录文件不变化
- git reset --hard [哈希值] 取消commit,add 以及改变工作目录
9.git rm
- git rm [fileName] 从暂存区移除文件,同事也移出工作目录
- git rm --cached 从暂存区移除文件,不移出工作目录(相当于git reset [哈希值])
10.git clean -df
- 将工作目录中没有被追踪的文件(未add入暂存区的文件)移除
11.git reflog
- reflog 是git用来记录引用变化的一种机制,比如记录分支的变化或者HEAD引用的变化
- HEAD@{0}代表HEAD当前的值,HEAD@{3}代表HEAD在3次变化之前的值
12.git branch
- git branch可以用来列出分支,创建分支和删除分支.
- git branch -v可以看见每一个分支的最后一次提交.
- git branch [branchName]: 创建一个新的分支
git branch -d [branchName]: 删除一个分支.
13.git checkout
- git checkout [branchName] 切换到一个分支
- git checkout -b [branchName] 新建并切换到一个分支
- git checkout [fileName] 将上次commit版本中的file内容替换工作目录中的file,不可逆
14.git merge
- git merge [branchName] 将一个branch合并到当前所在分支
- git mergetool 用此命令解决冲突,可用vim编辑器进行修改;用此命令修改后会多出来一个.orig文件 ,这里面存的是冲突被解决前的冲突内容
15.git remote -v
- 查看远程仓库的url
16.git push origin [branchName]
- 将你的分支推送到远程仓库
17.git fetch
- 下载远程仓库的新分支(本地仓库没有这些分支),不下载对应文件
- 想要下载对应文件需要加上一步:git merge
18.git pull origin [远程分支名称]
- 相当于两步,先执行git fetch,再执行 git merge