Git学习笔记

27 阅读3分钟

安装git只需到官网下载即可。

git-scm.com/download/wi…

成功安装后,运行电脑终端输入

git -V

安装完后可进行全局的初始化设置用户名和邮箱

git config -global user.name ="Your Name"
git config -global user.email = "Your Email"
git config -global credential.helper store

初始化仓库

git init <Project Name>

从远程下载仓库

git clone 仓库地址
#查看仓库状态
git status
#添加到暂存区
git add   .(添加目录)
git add   *.txt (添加文本文件)

#提交
git commit -m  "备注"

#查看仓库提交日志
git log
git log --oneline
git log --oneline --graph --decorate --all

git reset 的三种模式,作用:回退版本

git reset --soft  表示回退到某一版本并保留暂存区和工作区的内容
git reset --hard  表示回退到某一版本并丢弃暂存区和工作区的内容(注意谨慎使用hard命令)
git reset --mixed 表示回退到某一版本保留工作区的内容丢弃暂存区的内容

image.png

git diff查看工作区和暂存区文件内容之间的差异

image.png

git rm 文件名 删除本地文件及暂存区文件,并未删除版本库的文件,因此还需使用git commit -m 命令提交才行

image.png

.gitignore文件匹配规则

image.png

25105b7b7455846f629e0a98db4d5fe8.png

远程仓库

注册github账号,创建新的仓库

使用ssh密钥文件连接远程仓库

ssh-keygen -t rsa -b 4096
需要注意如果是第一次生成密钥文件则直接回车即可,如果之前配置过ssh密钥文件了这时候不要直接回车,而是需要重新创建一个新的ssh文件,需要输入新的文件名,
否则之前第一次创建的默认ssh密钥文件将会被覆盖。

5521a9608886d15ff96f3e4eca36b8bb.png 生成ssh文件之后, 回到官网设置界面将ssh.pub的内容复制到里面即可

之后如果是使用新建的.ssh密钥文件则需要使用以下命令行

tail -5 config

c7a3290817bf6aef158d00a1baafcd7f.png

连接完远程仓库后,如果需要将本地仓库推送到远程仓库则需要使用以下命令

 git pull 从远程仓库拉取最新的文件内容
git push 从本地仓库推送到远程仓库 git push origin main(拉取远程指定分支)

将本地仓库已有仓库部署到远程仓库

#查看当前仓库链接的远程仓库
git remote -v

#将本地仓库添加到远程仓库
git remote add origin 仓库地址

分支

git branch  #查看分支
git branch 分支名 #创建新的分支
git checkout  分支名  #切换到不同的分支
git checkout  分支名或者文件名 #当分支名和文件名相同时默认切换分支,而不是恢复文件
git switch  分支名 #专门用来切换分支

git checkout -b 分支名  提交id   恢复分支



git remote        # 列出所有远程主机
git remote update origin --prune   # 更新远程主机origin 整理分支
git branch -r      # 列出远程分支
git branch -vv     # 查看本地分支和远程分支对应关系
git checkout -b gpf origin/gpf    # 新建本地分支gpf与远程gpf分支相关联

544fb3f492b7458526d46ecb82f6b3ac.png

解决合并分支冲突(当两个分支修改同一位置的内容时,git不知道该合并哪一个分支的内容即合并冲突

c2ce09b9721576efa5a9626416eb8c61.png

1e25f61f4c7d43dcff09aa084e58fdc9.png

770b6fe05d50c0f765fdc7568cdaa6a0.png

git rebase 的使用
当切换到额外分支进行使用git rebase时,记录会将分支的内容加入到主分支的结尾
当切换到主分支使用git rebase时,记录会从分支的开始部分到结束部分将新的主分支内容加入到额外分支结尾