起步
三种状态
-
三种状态
- 已修改 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