使用git进行代码管理

使用git进行代码管理

【0】装clash-verge1.0.3

Ubuntu 20.04.6 LTS 版本不支持最新版本的clash,导致正常安装clash会运行不了,经试验1.0.3版本的clash-verge可以正常运行

lsb_release -a查看ubuntu版本号

【1】在GitHub上创建账户

1.新建仓库

登陆GitHub,然后找到“New”按钮,创建一个新的仓库

image-20240301151444143

2. 设置仓库名和权限

image-20240301151533062

3.得到仓库SSH地址和Quick setup教程

image-20240301151622405

【2】配置git

1.安装git

1
2
sudo apt-get update
sudo apt-get install git

git --version查看git版本号

2. 配置git用户和邮箱

1
2
git config --global user.name “用户名”
git config --global user.email “邮箱地址”

git config --list查看git的配置列表

3.创建本地仓库

1
2
3
4
5
6
7
8
mkdir 项目名称
cd 项目名称
git init #git初始化
git add . #添加所有文件到暂存区
git commit -m "first commit" #提交更改("first commit"为提交信息)
git branch -M main #将默认的master分支重命名为main
git remote add origin git@github.com:jellyboxs/233.git #关联远程仓库(origin后可以填你的SSH地址)
git push -u origin main #推送更改到远程仓库(配置好ssh后)

4. 克隆代码仓库

1
git clone https://<tokens>@github.com/<yourName>/<repositoriesName>

5. 推送同步代码

1
git pull origin master

6.拉取最新版本的代码

1
git pull

【3】配置SSH

1.安装SSH

1
sudo apt-get install ssh

ps -e | grep sshd查看SSH版本信息

2. 生成 SSH 密钥对

1
ssh-keygen -t rsa -C “用户邮箱地址”

ls -al ~/.ssh查看有无SSH key(第一次应该是没有的)

回车后会让你设置密码(每次推送就会都输密码),可以不设置一直按回车

3.复制 SSH key

1
cat ~/.ssh/id_rsa.pub

4.将 SSH 添加到 GitHub

在 GitHub 上找到 setting

找到SSH and gps keys

粘贴复制的ssh key 设置一下title

5.测试 SSH 连接

1
ssh -T git@github.com

image-20240301150840630

【4】补充的话

1.报错 fatal: 远程 origin 已经存在

  • 使用 git remote -v 命令查看当前已经配置的所有远程仓库

  • 删除现有的 origin 远程仓库重新添加 git remote remove origin git remote add origin <new-repository-url>

  • 或添加另一个远程仓库,使用别名如 “origin2” git remote add origin2 <new-repository-url>

【5】参考链接

图比较多不确定的操作可以看看

ubuntu git操作记录设置ssh key

ubuntu连接github(新手教学)

刷题笔记

【0】链表

① 反转链表

  • 递归方法(从后向前)

    让当前节点的下一个节点指向自己,然后让当前节点指向空(将箭头反向)

    • 递归写法(分为四个部分)
      • 最前为触底条件,到什么情况停止递归
      • 后为深入时要完成的操作
      • 再为调用函数本身
      • 后为触底反弹后要完成的操作
    • 递归用时间换空间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution {
public:
vector<int> reverseBookList(ListNode* head) {
vector<int> valInt;
ListNode* tempNode = reverseNode(head);
while(tempNode != nullptr)
{
valInt.push_back(tempNode->val);
tempNode = tempNode->next;
}
return valInt;
}
private:
ListNode* reverseNode(ListNode* head)
{
if(head == nullptr || head->next == nullptr)
{
return head;
}
ListNode* tempNode = reverseNode(head->next);
head->next->next = head;
head->next = nullptr;
return tempNode;
}
};
  • 非递归方法(从前往后)

​ 让当前节点指向上一个节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public:
vector<int> reverseBookList(ListNode* head) {
vector<int> valInt;
ListNode* proNode = nullptr;
while(head != nullptr)
{
ListNode* next = head->next;
head->next = proNode;
proNode = head;
head = next;
}
while(proNode != nullptr)
{
valInt.push_back(proNode->val);
proNode = proNode->next;
}
return valInt;
}
};

② 快慢指针

  • 输出链表倒数第几位的节点,使用两个指针,一个在前面快,一个在后面慢,保持相等的间距,当前面的指针指向空时,后面的指针指向的就是要找的节点
  • Copyrights © 2024 jellyboxs
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信