概述

本文是学习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