概述
本文是学习Git官方文档Git Pro的笔记和记录。
git 使用
1.仓库操作
git init:
git init 初始化仓库
git init --bare --shared 以裸仓库的形式初始化仓库,允许其他用户修改裸仓库(提交远程分支)
git clone:
git clone
git remote:
git remote
git fetch:
git fetch
git pull:
git pull
git push:
git push
2.暂存相关操作
git add:
git add . 暂存当前目录的文件到暂存区
git clean:
git clean -filename 删除未追踪的文件和路径
git stash:
临时的存储文件系统和暂存区的文件到一个栈,当前的状态切换到HEAD的提交状态。不保存未追踪文件,可以使用-u带上
git stash list 列出已保存的改动
git stash push -m "描述" 保存当前改动(压入栈中)
git stash pop 弹出已保存的改动,恢复到文件系统和暂存区(出栈并销毁)
git stash apply 应用某个已保存的改动,恢复到文件系统和暂存区(不出栈,还可list查看到)
git stash drop 删除某个已保存的改动
git worktree
git worktree
3.提交相关操作
git commit : 提交暂存的文件到当前所在分支
git commit -m "commit title" -m "commit introduce" 在当前分支提交修改
git commit --amend 修改上一次提交的内容,记录里仅仅保存一个提交
git reset : 撤销提交(commit)或者暂存(add) 的文件
git reset HEAD~1 将所在分支最近的一个提交,保存其修改在文件系统(撤销commit、add)
git reset --soft HEAD~1 将所在分支最近的一个提交,保存其修改在暂存区(撤销commit)
git reset --hard <commit-hash> 撤销将对应哈希的提交及之后的提交,不保存修改。用于彻底放弃提交
git reset 可以reset到之后的提交! 因为git reset 本质是移动head指针到某个提交,然后不追踪之后的所有提交历史
git revert 通过创建一个反向的新提交来撤销之前的提交。之前的提交也在git log中
git revert <commit-hash>
4.分支相关操作
git branch
git branch <branch-name> 创建一个分支
git merge
git merge <branch-name>
git merge --abort
git rebase
5.查看信息
git status 查看文件的状态
git diff 查看工作目录和暂存区的文件差异
git diff --cache 查看暂存区和所在分支最近的提交之间的差异
git log 查看仓库的提交日志 (git graph能看到的、可见的提交)
git log --oneline --graph --all 以图形化形式查看,每个提交最短的一行描述显示
git reflog 查看操作日志(包括所有的撤销操作)
git的设置
git的SSH公钥设置
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
cat ~/.ssh/id_rsa.pub