东莞网站建设 石化,网站建设的功能有哪些方面,宁波建设网 提取业务,打赏网站怎么建设文章目录 1.初始化配置2.新建仓库3.添加和提交文件4.git reset 回退版本5.git diff 查看差异6.git rm 删除文件7.文件 .gitigonre8.克隆远程仓库9.将已有的本地仓库关联到远程仓库10.分支的基本操作11.解决合并冲突配置问题 最近基于GeekHour的视频学习Git#xff0c;记录了一… 文章目录 1.初始化配置2.新建仓库3.添加和提交文件4.git reset 回退版本5.git diff 查看差异6.git rm 删除文件7.文件 .gitigonre8.克隆远程仓库9.将已有的本地仓库关联到远程仓库10.分支的基本操作11.解决合并冲突配置问题 最近基于GeekHour的视频学习Git记录了一些常用命令和踩过的坑。 前置操作 安装Git 进入官网在终端中输入git -v查看版本信息 1.初始化配置
配置用户名和邮箱用的PowerShell
git config --global user.name Xiechimon
git config --global user.email xiechimonqq.com# 保存用户名和密码
git config --global credential.helper store
# 查看Git的配置信息
git config --global --list2.新建仓库
# 在桌面创建文件夹
cd D:\Desktop
mkdir learn-git# 在文件夹下创建.git此时该目录为仓库
cd learn-git
git init# 查看当前目录是否有.git文件
ls -force# 删除仓库
Remove-Item -Force .git# 创建 my-repo 仓库
git init my-repo# 克隆仓库
git clone [address]# 查看仓库中的文件
git ls-files3.添加和提交文件
# 查看仓库状态
git status# 创建文件并写入内容
echo 这是第一个文件 file1.txt
# 查看文件内容
cat file1.txt# 将文件添加到暂存区
git add file1.txt
# 将所有以txt为后缀的文件添加到暂存区
git add *.txt
# 添加所有文件
git add .# 提交到仓库
git commit -m submit test# 查看提交记录
git log
git log --oneline # simple4.git reset 回退版本
# 将Test仓库复制一份
Copy-Item -Path Test -Destination test-copy -Recurse -Force# soft只是把commit的文件回退到暂存区了
git reset --soft [versions] # 表示回退到指定的版本
# 再commit一次就可以回到原版本# hard把以前版本的内容都清空了无法回去
git reset --hard HEAD^ # 表示回退到上一个版本# mixed(default)将已经commit和add的文件退回再次add和commit就能回到原版本
git reset HEAD^# 如果误操作了hard也可以回溯
git reflog # 查看操作记录
git reset --hard 2b45b42 # git reset回退到这个版本即可5.git diff 查看差异
git diff在工作区add\commit之后修改文件内容就能看到差异看工作区与缓存区和本地仓库之间的差异
当更改了file3.txt时
notepad file3.txt
# 修改文件之后会从本地仓库直接退回到工作区不在暂存区输出
diff --git a/file3.txt b/file3.txt # 提示发生变更的文件
index 55bd0ac..6f96da6 100644 # 省略的哈希值和文件权限
--- a/file3.txtb/file3.txt-1 1
-333 # 删除的
332 # 添加的git diff HEAD在工作区修改之后add能看到在工作区修改的内容看工作区与暂存区之间的差异git diff --cached比较暂存区与本地仓库之间的差异在commit之后就无输出了git diff [ID] [ID]比较两个特定版本之间的差异 git diff HEAD~ HEAD 表示当前版本与上一个版本之间的差异 还可以指定文件
6.git rm 删除文件 如果文件在外部被删除而暂存区中还存在可以再add和commit一次从而更新暂存区和版本库
7.文件 .gitigonre
里面的文件名会被忽略不提交到仓库中目的是 使仓库体积更小、更干净
# 表示忽略所有的log文件
*.log# 表示忽略任何目录下的temp文件夹
temp/# 只忽略当前目录下的TODO文件夹
/TODO# 保留文件
!lib.a# 忽略doc/ 下的txt文件
doc/*.txt# 忽略doc/ 及其所有子目录下的pdf文件
doc/**/*.pdfgithub上的配置模板 8.克隆远程仓库 SSH(Secure Shell)是一种网络协议用于在不安全的网络上安全地访问和管理远程计算机。 相较于HTTPS方式SSH方式在推送的时候不需要验证用户名密码更加安全方便但需要在GitHub上添加SSH公钥的配置
配置SSH公钥
# 回到根目录
cd
# 进入.ssh目录
cd .ssh
# 生成SSH密钥、指定协议为RSA、生成大小为4096
ssh-keygen -t rsa -b 4096# 1.之后如果之前没有配置过就直接回车
# 如果配置过了就输入一个新的文件名否则会覆盖原来的
# 2.输入密码
# 3.会生成两个文件id_rsa私钥、id_rsa.pub公钥
# 4.cat打开公钥文件id_rsa.pub复制内容并上传到GitHub
将公钥文件上传到github 如果刚配置了一个新的密钥需要创建一个config文件并添加内容目的是当访问GitHub时使用新的密钥
9.将已有的本地仓库关联到远程仓库 # 添加一个名为origin的远程仓库
git remote add origin https://github.com/sleP4o/first-repo.git# 查看本地仓库所对应的远程仓库的别名和地址
git remote -v# 指定分支的名称为main (可省略)
git branch -M main# 把本地的main分支和远程仓库origin的main分支关联
git push -u origin main# 拉取远程仓库到本地仓库并自动合并
git pull [origin] [main]10.分支的基本操作 分支用于新功能的开发和测试或者团队协作不会影响到主线代码 Merge不会破坏原分支提交记录
# 查看分支
git branch# 创建分支dev
git branch dev# 切换到dev分支
git switch dev
git checkout dev # checkout可以用于切换分支和恢复文件有歧义# 将dev分支合并到当前分支
git merge dev# 以图表形式查看日志
git log --graph --oneline --decorate --all
# 可以给它起个别名以后只要用graph就能查看
notepad $PROFILE # 1.打开pwsh配置文件
. $PROFILE # 2.保存配置# 删除已经被合并的分支未合并的要强制删
git branch -d dev
# git branch -D branch-name # 强制删除Rebase不会新增额外的提交记录
git switch main
git rebase dev建议Rebase用于自己一人在分支上开发Merge用于协同开发
11.解决合并冲突 当两个分支修改同一个文件的同一行代码时Git不知道保留哪一个从而产生冲突 当产生冲突时git会把两个分支写的内容都写到该文件中然后通过用户手动修改该文件从而解决冲突
# 如果想要终止合并不让git写入
git merge --abort配置问题 Git报错 摘自Git报错 Failed to connect to github.com port 443 解决办法配置http代理 配置socks5代理git config --global http.proxy socks5 127.0.0.1:7890
git config --global https.proxy socks5 127.0.0.1:7890配置http代理git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890Failed to connect to 127.0.0.1 port 7890 把这里的端口设置成7890 克隆仓库时SSH密钥为中文名导致克隆失败 解决解决git生成ssh密钥失败问题本机用户名中文乱码导致密钥生成失败。 打开gitbash 重新创建SSH密钥ssh-keygen -t rsa -C xiechimonqq.com
# 双引号里输入自己的邮箱地址补充不知道为什么成功一次之后又失败了还是用回HTTPS吧太难了