Git
Git
版本控制(Git) · the missing semester of your cs education (missing-semester-cn.github.io)
基本命令
git init
创建一个git仓库
git status
查看文件状态
-s
状态简览
git add
- 跟踪一个文件
- 把已跟踪的文件放入暂存区
- 合并时把有冲突的文件标记为已解决状态
git reset HEAD filename
- 取消暂存
git diff
- 比较工作目录中当前文件和暂存区域快照之间的差异。也就是修改之后还没有暂存起来的变化内容
git diff --staged
git diff --cached
- 比对已暂存的文件与最后一次提交的文件的差异
.gitignore
- 忽略文件配置文件,
git commit
git commit -a
git commit --amend
- 提交更新,
-a
表示把所有已经跟踪过的文件暂存起来一起提交,跳过使用暂存区。--amend
表示重新提交。
git rm -f
- 强制删除。
git mv file_from file_to
- 重命名、移动文件。
git log -p -2
--stat
--graph
- 查看历史提交记录,显示差异,显示最近两次提交。
--stat
参数输出带有简略统计信息。--graph
以ascii图形显示。
- gitignore
远程仓库
git remote
show
rename
remove
- 查看远程仓库,
show
查看更多信息,rename
重命名,remove
移除远程仓库。
git remote add <shortname> <url>
- 添加远程仓库
git fetch <remote>
- 下载数据到本地仓库,不会自动合并
git pull <remote>
- 下载数据到本地仓库,自动合并
git push <remote> <branch>
- 推送到远程仓库
打标签
- 轻量标签:某个特定提交的引用
- 附注标签:一个完整对象
本地
git tag
- 查看标签
git show <TagName>
- 显示特定标签信息
git tag -a <Version> -m <Message>
- 附注标签
- 后期打标签则再参数后加入
sha-1
散列值
git tag <Version>
- 轻量标签
- 后期打标签则再参数后加入
sha-1
散列值
git tag -d <tagname>
- 删除标签
远程
git push origin <tagname>
- 共享标签
git push <remote> --delete <tagname>
- 移除远程标签
分支
Git
保存的不是文件的变化或者差异,而是一系列不同时刻的快照
。Git
提交对象包含了作者的姓名和邮箱、提交时输入的信息以及指向它的父对象的指针
。Git
的分支,本质上仅仅是指向提交对象的可变指针。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Randolfluo's blog!