起步
三种状态
-
三种状态
- 已修改 modified
- 已暂存 staged
- 已提交 commited
-
三种工作区域
本地仓库 woking directory 暂存区域 staging area git工作目录 git directory
配置
-
权限的作用范围
-
所有用户 etc/gitconfig
git config --system .. -
当前用户 ~/.gitconfig
git config --global .. -
当前文件 .git/config
git config ..
-
-
用户信息
git config --global user.name makaiqian git config --global user.email example@makaiqian.com曾经,我就在不同的git平台用了同一个用户信息,结果github的。之前一直不懂是为什么:明民提交了,但是github的contributions始终没有亮,原来是信息的原因。这是这次看了文档以后才明白。完全证明了学习基础的重要性。
-
查看配置信息
git config --list也可以用:
git config -l -
获取帮助
git .. --help比如,..可以是config等等,你所不知道想要明白的。
git基础
取得git仓库(两种方法)
-
导入所有文件
-
初始化
git init会出现一个.git的目录,存放git所有的数据和资源。
-
跟踪文件
git add比如:git add *.js或者git add README.md等等。
-
提交文件到暂存区域
git commit -m ''
-
-
从git仓库克隆一个新的镜像仓库
git clone [url]如果要指定目录名称
git clone [url] name
记录每次更新到仓库
-
检查当前文件的状态
git status
-
忽略某些文件
cat .gitignore TODO:.gitignore语法规范
-
已暂存和未暂存
git commit只是列出修改过的文件,但是要看文件具体改了什么:
git diff仅限没有到暂存区域的文件。
-
暂存的文件与上一次提交快照的差异:
git diff --cached高版本允许用:
git diff --staged
-
-
提交更新到暂存区域
git commit-
如果需要附带说明:
git commit -m '' -
注意:
提交是放在暂存区域的快照
-
跳过暂存区域
git commit -a就会跳过git add步骤把所有已经的暂存文件一并提交。
-
-
移除文件
-
移除已追踪文件清单:
git rm -
移除已经在暂存区的文件
git rm -f -
移除跟踪但不删除文件
git rm --cached name
name是文件名
-
-
移动文件
git mv file_from file_to-
改名也可以这么做(比如要改README.md位README)
git mv REAMDE.md README -
就相当于这3步:
mv README.txt README git rm README.txt git add README
-
查看提交历史
-
显示所有的更新,最上面的是最近更新的。
git log -
最近几次的更新
git log -p -2最近两次的更新和每次commit的变化
-
单词层面上的对比
git log -p --word-diff -
增改行数统计
git log --stat -
其它参数
撤销操作
-
修改最后一次提交
git commit --amend -
取消已经暂存的文件
git reset HEAD <file> -
取消对文件的修改
git checkout -- <file>慎用,有风险,很容易误删。
远程仓库的使用
-
查看当前远程仓库
git remote列出全部的远程仓库:
git remote -v -
添加远程仓库
git remote add [shortname] [url] -
从远程抓取数据
抓取远程仓库但是本地仓库没有的:
git fetch ..fetch后面是对应的仓库地址。
-
推送数据到远程仓库
git push origin master -
查看远程仓库信息
git remote show -
远程仓库重命名
git remote rename mkq1 mkq2给远程仓库mkq1重命名为mkq2。
-
移除远程仓库
git remote rm mkq1移除远程仓库mkq1。
-
删除远程分支
git push origin :branchyouwanttodelete
打标签
-
列出已有的标签
git tag排列方式:字母的顺序
-
搜索标签
git tag -l '*0.0.1' -
新建标签
-
含标注的标签
git tag -a v1.4 -m 'my version 1.4' git show git show version -
轻量级标签
git tag v0.0.1 -
后期加注标签
git tag -a v1.2 9fceb02
-
-
分享标签
git push origin v0.0.1一次推送所有
git push origin --tags