git 结构

工作区:电脑文件夹目录

版本库:.git文件夹,git add 添加到暂存区stage,git commit 添加到本地分支

image-20240128174038886

1
git checkout -- test.txt // 用暂存区的代替工作区的

git 分支操作

看到分支合并图

1
git log --graph

提交代码

1
git commit -m "本次提交的代码功能概括"

创建分支

1
git branch bugFix

切换分支

1
git checkout bugFix

合并分支

1.merge:拿过来

把bugFix分支的所有提交合并到本分支

1
git merge bugFix

2.rebase:放过去(线性的提交历史)

把当前分支的所有提交合并到main分支

1
git rebase main

3.cherry-pick:拿你想要部分提交的拿过来

1
git cherry-pick c1

HEAD

可以指向分支或者提交过的节点

1
2
HEAD^ 往上一个提交
HEAD~n 往上n个提交

修改分支节点的位置

1
2
git branch -f 待修改分支节点 目标位置
git branch -f main HEAD^ // 将 mian 移动到上一个提交节点

撤销提交

本地提交

1
git reset HEAD^ // 把当前提交删除了

远程提交

1
git revert HEAD // 当前提交还存在,不过被跳过了

标签

1
git tag v0 c1 // 给c1节点打上v0标记

git 查看记录

配合 git reset xxx 回退

查看提交历史

1
git log

查看命令历史

1
git reflog

和远程仓库相关

git 本地仓库取消关联到远程仓库

查看现有的远程连接

1
git remote -v

取消与现有远程仓库的连接

1
git remote remove origin

重新连接远程仓库

1
git remote add origin 仓库地址

git 本地仓库关联到远程仓库

方式一

1
2
3
4
5
6
7
git init(初始化git仓库)
git remote add origin 地址(设置远程remote地址)
git pull origin master(拉取远程仓库master的文件)
git branch --set-upstream-to=origin/master master(将本地master设置为远程master分支)
git add . (将所有变更提交到本地仓库)
git commit -m '' (提交注释)
git push(本地仓库推送到远程仓库)

方式二

1
2
3
4
git clone 地址(克隆远程仓库)
git add . (将所有变更提交到本地仓库)
git commit -m '' (提交注释)
git push(本地仓库推送到远程仓库)

git配置

1
2
3
4
5
6
7
8
9
10
11
#配置用户名
git config --global user.name "fuleyou"

#配置邮箱
git config --global user.email "997679311@qq.com"

#查询配置
git config --global --list

#测试连接
ssh -T git@github.com

Error:Spawn fail解决方案

1
2
3
4
5
6
1.cd C:\Users\fuleyou\.ssh
2.创建一个config文件
写入
Host github.com
Hostname ssh.github.com
Port 443