创建版本库

设置署名和邮箱

git config --global user.name "wanan-love"
git config --global user.email "1498032121@qq.com"

把目录变成git的仓库

git init

向这个本地的暂存区添加当前目录的所有改动:

git add .

或者只是添加某个文件:

git add readme.txt

将文件从暂存区提交到本地仓库

git commit -m "wrote a readme file"

时光机穿梭

常看当前仓库的状态有没有未添加的

git status

查看当前仓库的状态包括所有改动

git diff

查看版本之间提交的历史记录

git log
git log --pretty=oneline #在一行中显示
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL
e475afc93c209a690c39c13a46716e8fa000c366 add distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file
HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

退回到之前的版本

git reset --hard HEAD^ #回退到上一个版本
git reset --hard 1094a #回退到1094a这个版本

查看之前git的命令

git reflog

工作区和暂存区

image-20220522145540700

git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支

丢弃工作区的更改

git checkout -- readme.txt

从版本库中删除文件

git rm test.txt

远程仓库

生成sshkey

ssh-keygen -t rsa -C "1498032121@qq.com"

关联远程仓库

git remote add origin git@github.com:wanan-love/wanan-love.github.io.git// 关联远程仓库

将本地所有内容推送到远程库里

git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起命令就可以变了
git push origin master

列出远程库的信息

git remote -v

根据名字删除

git remote rm origin 

将代码仓库 clone 到本地,其实就是将代码复制到你的机器里,并交由 Git 来管理

git clone git@github.com:lovewanan/lovewanan.github.io.git