文章目录
Git Bash使用
如果是Window环境,那需要先下载一个Git Bash用来在window环境下模拟Linux的操作,即可以通过和在Linux上一样的命令来操作window
配置PC密钥到github进行SSH连接 (Linux上的操作和这里也都一样)
/d/Jolly/GIT是自己创建的目录
ssh-keygen -t rsa -C " 这里替换成你注册github使用的邮箱 "
圈起来那里就是电脑保存的密钥的位置
注意!!!
若你多次使用该命令,且未通过-f参数指定新的密钥文件路径,系统默认会覆盖原有的密钥文件(一般是/.ssh/id_rsa和~/.ssh/id_rsa.pub)。这种情况下,
新生成的密钥会取代旧密钥,导致之前基于旧公钥配置的服务(像 GitHub、服务器登录等)无法再使用,需要重新配置。
不同路径
当你通过-f参数指定了新的密钥文件路径,例如ssh-keygen -t rsa -f ~/.ssh/new_key -C “your_email”,系统就会生成新的密钥对,而不会影响原来的密钥文件。
然后把密钥,即图片里框起来的文件里的所有内容复制到GitHub
点击头像打开settings
复制到这
打开SSH and GPG keys, 点击 New SSH key
此时在GitBash上连接Github就成功了
ssh -T git@github.com
git bash创建用户名和邮箱
然后我们需要在GitBash上创建下用户名和邮箱,不然待会无法commit
git config --global user.email “你的邮箱”
git config --global user.name “你的名字”
同样的方法我们再linux也创建一个本地仓库
从Github上git clong项目
拿到要拉取的项目的SSH Key
然后在window上的Git bash终端使用这条命令行
git clone SSH_Key
此时我们就能在自己的文件夹下看到自己的git clone下来的 git_tes t项目了
Git常用代码拉取,修改,提交,推送命令
首先我们先在本地仓库随便添加一个main.cpp文件
#include<iostream>
using namespace std;
void sort(int* arr, int size)
{
}
int main()
{
int arr[] = {12, 10, 65, 74, 34, 2, 8, 26, 31, 17};
int size = sizeof(arr) / sizeof(arr[0]);
sort(arr, size);
return 0;
}
git status 和 git add
此时通过 git status可以看到untracked file(未追踪文件)即该文件还没被添加到本地仓库
是的!!虽然是直接在git_test目录下创建的mian.cpp
但是要通过命令git add 以后才算是被添加到了本地仓库
话不多说,上图!
然后就可以通过git add main.cpp 来将改动添加到本地的暂存区,暂存区存放多次改动,可以通过多次git add来提交改动,然后后面再一次性全部git commit到本地仓库
git commit,git push
通过git cimmit 来将暂存区里的改动添加到本地仓库,同时可以同 -m “…” 来添加改动注释
这时候再通过 git status可以看到提示
Your branch is ahead of ‘origin/main’ by 1 commit.
说明有一次更新超前了origin/main分支,即远程仓库的main分支,(origin即代表远程仓库,可以通过 git remote 命令查看)
然后就可以通过git push把本地仓库的更新推送到远程仓库
这里的 git push origin main:main
origin :推送到远程仓库
第一个main表示本地仓库的main分支
第二个main表示远程仓库的main分支
此时再通过git log即可以看到我们的提交
同时github上可以看到提交到代码了
Linux端修改main.cpp代码再推送到远程仓库
#include<iostream>
using namespace std;
void sort(int* arr, int size)
{
int tmp = 0;
for(int i = 0; i < size-1; i++)
{
for(int j = 0; j < size-1-i; j++)
{
if(arr[j] > arr[j+1])
{
tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
}
int main()
{
int arr[] = {12, 10, 65, 74, 34, 2, 8, 26, 31, 17};
int size = sizeof(arr) / sizeof(arr[0]);
sort(arr, size);
return 0;
}
我们修改完可以通过git status看到修改
通过跟上面一样的步骤git add、git commit、git push我们可以把修改的代码push到远程仓库
此时在GitHub也能看到push的结果
我们在本地的git bash上也可以通过
git pull命令把远程仓库的更新整合到本地仓库
cat 一下刚刚更新的代码,可以看到内容已经同步