起步
三种状态
- 三种状态
- 已修改 modified
- 已暂存 staged
- 已提交 commited
- 三种工作区域
本地仓库 woking directory 暂存区域 staging area git工作目录 git directory
配置
- 权限的作用范围
- 所有用户 etc/gitconfig
git config --system ..
- 当前用户 ~/.gitconfig
git config --global ..
- 当前文件 .git/config
git config ..
- 所有用户 etc/gitconfig
- 用户信息
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
- 改名也可以这么做(比如要改README.md位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
时间: 2024-10-23 01:44:43