用git上传github加强
文章目录
一些情况
1.PC和虚拟机,各自创建秘钥,然后上传到自己的github
2.一旦秘钥弄好了,直接创建一个目录,如果自己想上传某个或者更新某一个库,先git clone 那个库的ssh,之后更新后,就是git add 文件/路径 git commit -m “标签” git push origin main
还想更新再上传的是,git pull
【Linux下安装git】
命令:sudo apt-get intsall git
出现以下界面时,表示安装成功:
Linux下配置用户名和邮箱
命令:
git config --global user.email “you@example.com”
git config --global user.name “Your Name”
例:
git config --global user.email “328800461@qq.com”
git config --global user.name “zhushuangjian”
【github 注册用户】
-
浏览器下输入www.github.com后注册账户
-
登录git,点击Sign in
-
登陆之后,点击“+”,选择new repository
-
创建一个仓库
【使用 https协议和远程仓库通信】
点击code ,选择https,点击链接旁边的白色小方框进行复制:
Linux下,首先创建一个目录github,进入该目录:
使用命令初始化本地仓库:
命令:git init
初始化成功之后,会生成.git目录
使用https方式将远端代码克隆到本地:
如下图所示,即为克隆成功:
进入查看:
本地修改代码,推送到远端仓库流程:
首先创建一个1.c文件,并填充一点测试内容,退出保存:
使用命令git status查看:
使用命令:git add 1.c 将修改内容添加到暂存区
命令:git commit -m “add 1.c”,将修改从暂存区提交到本地仓库:
命令:git push origin main ,将修改从本地仓库推送到远程仓库:(此处要求我们输入用户名和密码)
github社区检查:
【主流ssh通讯方式】(重点掌握):
本地配置ssh key:
命令:ssh-keygen -t rsa -C “你的邮箱”。
出现以下界面,表示密钥生成成功,接下来我们开始在配置密钥:
在/home/linux/.ssh目录下生成两个文件id_rsa和 id_rsa.pub。
命令:cat id_rsa.pub 复制密钥:
打开github官网,按照如下步骤,添加密钥:
添加完毕之后,打开虚拟机测试是否成功,命令:ssh -T git@github.com
成功显示:
不成功显示:
输入命令:ssh-add
再次输入命令:ssh -T git@github.com
删除刚刚克隆的仓库:
打开www.github.com,进入我们的远端仓库,如下,复制ssh链接:
克隆远程仓库
命令:git clone git@github.com:zhushuangjian/testzsj.git
和https类似,从工作区–>暂存区–>本地仓库–>远程仓库:(推送到远程无需输入密码)
检查远端,新的修改已经刷新:
【创建分支】
创建一个叫“feature_x”的分支:
命令:git branch feature_x
【查询分支】
命令:git branch
【切换分支】
命令:git checkout feature_x
在该分支下修改文件内容,提交到远程
【合并分支】到本地仓库
命令:git merge feature_x
【推送到远程】
命令:git push orgin main
【获取最新代码】
命令:git pull
- 常见问题解决方案
【关于每次push都要输入用户名和密码的问题?】
我们在建立远程仓库或者克隆项目时,使用的是HTTPS方式 ,HTTPS方式push不会保存用户名和密码。我们需要把HTTPS方式改成SSH的方式
git remote -v 查看
origin https://github.com/zhushuangjian/testprj.git (fetch)
origin https://github.com/zhushuangjian/testprj.git (push)
解决方案:
git remote rm origin 删除原先HTTPS的连接方式
GitHub仓库复制SSH的地址
git remote add origin SSH地址,连接方式更改为SSH方式
重新查看连接方式 git remote -v 会发现已经更改成了ssh的方式
origin git@github.com:zhushuangjian/testprj.git (fetch)
origin git@github.com:zhushuangjian/testprj.git (push)
【本地恢复误删文件:】
git reset HEAD 文件/文件名
或者 Git reset --hard HEAD^ 回退到上个版本
git checkout 文件/文件名
【git pull相关问题】
无法git pull解决方案:
命令一: git pull origin main
命令二: git branch --set-upstream-to=origin/main main