关键字:windows安装git,git配置,github上传与下载
1 windows安装git
参考链接:Git安装
简略步骤:
- 进入git官网 windows页下载安装包
- 双击下载好的 Git-2.43.0-64-bit.exe(此处以我当前下载版本为例)
- 可一路默认安装
2 git配置
参考链接:Git和Github简单教程
简略步骤:
1.打开命令行(cmd)或者在想要创建repository的地方右键鼠标并点击 Git Bash Here 打开窗口。
2.git常用命令的使用命令
git init #初始化仓库`在这里插入代码片`
git status #查看当前库的文件情况
git add . #添加文件
git diff #查看当前状态和最新的commit之间不同的地方
git checkout -- . #撤回修改的且还未stage的内容,这里用小数点表示撤回所有修改,在--的前后都有空格
git commit -m "提交信息" #提交信息最好能体现更改了什么
git clean -xf #删除当前目录下所有没有track过的文件
git log #查看当前版本及之前的commit记录
git reflog #HEAD的变更记录
git reset --hard 版本号 #回退到指定版本号的版本
git branch -a #查看所有分支
git branch #查看当前所在分支
git branch -d bug_xzx #删除本地的bug_xzx分支
git push origin --delete bug_xzx #删除远程的bug_xzx分支
3.本地Git和Github的连接
1.注册github
2.本地配置用户名和邮箱,git bash中输入一下命令
这里你的"你的用户名"和"你的邮箱"要与github的一致
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
例如
git config --global user.name abc
git config --global user.email abc123@163.com
4.运行
ssh-keygen -t rsa -C "你的邮箱"
#或
ssh-keygen -t ed25519 -C "你的邮箱"
生成ssh key ,它会有三次等待你输入,直接回车即可
5.将生成的ssh key复制到剪贴板,执行
clip < ~/.ssh/id_rsa.pub
#或
xclip -sel clip < ~/.ssh/id_ed25519.pub
6.打开Github,进入Settings
7.点击左边的 SSH and GPG keys ,将ssh key粘贴到右边的Key里面。Title随便命名即可。
8.点击下面的 Add SSH key 就添加成功了。
9.执行
ssh -T git@github.com
输出以下句子表示失败
ssh: connect to host github.com port 22: Connection refused
输入以下命令可查看详细信息
ssh -T -vvv git@github.com
失败原因可能有冲突的软件开启端口占用22,如stream community.exe,关闭他
查看端口方法
windows
#列出所有占用端口 22 的进程,并显示它们的 PID(进程标识符)
netstat -ano | findstr :22
#查找特定 PID 对应的进程名称,其中 <PID> 是 netstat 命令输出中显示的进程标识符。
tasklist | findstr <PID>
linux
#-tulpn:显示所有TCP端口的详细信息。
#grep :22:筛选出包含 ":22" 的行,即查找端口22的相关信息。
sudo ss -tulpn | grep :22
#这条命令会列出使用端口22的进程详细信息,包括进程名和PID。-i :22:指定要查询的端口号。
sudo lsof -i :22
#显示进程ID为1234的详细信息,包括进程名称和启动命令。
ps aux | grep 1234
如果未存在端口占用的情况,可能是github域名解析错误导致的
如果 ping www.github.com 可以通,而 ping github.com 不通
1).执行以下命令,清楚DNS缓存(在 Windows 下)
ipconfig /flushdns
2).尝试使用 nslookup github.com 和 nslookup www.github.com 命令来查看两者的解析结果是否一致。
nslookup github.com
nslookup www.github.com
3).可以尝试切换到 Google 的 DNS(8.8.8.8 和 8.8.4.4)或者 Cloudflare 的 DNS(1.1.1.1 和 1.0.0.1) DNS 服务器,看看是否会有不同的结果。
4).Hosts文件用于手动配置IP地址和域名的映射关系。你可以检查该文件是否包含了不正确的域名解析信息。
Hosts文件位于 C:\Windows\System32\drivers\etc\hosts,你可以用文本编辑器(如Notepad)打开并检查是否有任何错误的条目
输出以下句子表示成功
You've successfully authenticated, but GitHub does not provide shell access.
4.创建远程仓库并与本地关联
1.创建远程仓库,首先是在右上角点击进入创建界面,点击 Create repository 就创建好了
2.先到Github上复制远程仓库的SSH地址,有两种方式可以关联,一种是SSH,一种是HTTPS。由于HTTPS比较慢,所以推荐使用SSH。注意SSH的地址格式是这样开头的: git@github.com
3.运行
git init
git remote add origin 你复制的地址
4.如果你在创建 repository 的时候,加入了 README.md 或者 LICENSE ,那么 github 会拒绝你的 push 。你需要先执行git pull origin master,再执行 git push -u origin master 将本地仓库上传至Github的仓库并进行关联
git pull origin master
git push -u origin master
如果是空目录,则执行以下句子
touch README
git add README
git commit -m 'first commit'
git push origin master
git push -u origin master
5.以后想在commit后同步到Github上,只要直接执行 git push 就行啦
5.github克隆库中部分文件到本地
创建一个本地空文件夹如gitbadou ,同时复制github上库的ssh,git@github开头的
加入github库下有个文件夹名为test的文件夹,只下载该文件夹下的内容,可按如下命令操作
mkdir gitbadou #创建一个本地空文件夹
cd gitbadou
git init #仓库初始化,这个目录变成Git可以管理的仓库
git remote add -f origin git@github.com:***.git #与远程库建立连接
git config core.sparsecheckout true #在Config中允许使用Sparse Checkout模式
echo "test/*" > .git/info/sparse-checkout #添加过滤,许下载的文件写入.git/info/sparse-checkout文件中
git config core.protectNTFS false #执行git pull origin main如果出现git error:invalid path问题,可在前面执行该语句忽略路径问题
git pull origin main #更新仓库到本地
6.本地修改上传至github
在对文件进行修改后,执行
git add .
git status
git commit -m "提交信息"
git push -u origin main #更新到远程仓库
7. .gitignore文件配置说明
# 忽略所有 .log 文件
*.log
# 忽略所有 .tmp 文件
*.tmp
# 忽略特定文件
config.env
# 忽略整个目录
node_modules/
# 忽略所有 R 扩展名的文件,但跟踪特定的 R 文件
*.R
my_script.R
# 忽略所有文件,但跟踪 .gitignore 文件,在一个项目的不同部分开启或关闭忽略规则时很有用
!/.gitignore
在创建或修改 .gitignore 文件后,要使规则生效,你需要运行以下命令来清除 Git 缓存中当前被跟踪的文件,并根据新的 .gitignore 文件规则重新设置跟踪
git rm -r --cached .
git add .
git commit -m "Update .gitignore"
请注意,如果文件已经被提交到仓库中,即使你在 .gitignore 文件中设置了忽略规则,这些文件也会继续占用空间。如果需要从仓库中删除这些文件,你需要执行 git rm 命令。
8.git操作撤销
回退commit
- --mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
- --soft
不删除工作空间改动代码,撤销commit,不撤销git add .
- --hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
已经push的代码,出现误删文件怎么办
进入网页,右上角点击EDIT
在被删文件右侧下拉操作选择RESTORE
STOP EIDTING
选择DOWNLOAD
选择pull模式复制命令
回到代码路径,粘贴命令,执行
9. 查看远端日志
git fetch origin
git log origin/main
10.分支上传
git branch -a
git branch dev-track
git checkout dev-track
#推送到远端的同时并且建立起和远端分支的关联关系
git push --set-upstream origin dev-track