Git:GitHub/Gitee的使用笔记

1. GitHub/Gitee

  • 为开发者提供远程仓库的托管服务,让开发者与朋友、同事、陌生人共享代码的场所,同时也提供一些高效率的功能,同时也能实现软件版本管理。
  • Issue:是将一个任务或问题分配给一个Issue进行追踪和管理的功能。
  • Wiki:能够随时对一遍文章进行更改并保存,常用于开发文档或手册的编写。
  • Pull Request:推送更改或功能添加,请求合并到仓库中。

2. 安装Git

  • 下载地址:https://git-scm.com/download/win,一路默认安装即可了。
  • 安装完成后,选择右键菜单选项Git Bash Here,打开git控制台。
    在这里插入图片描述
  • 输入命令设置姓名和邮箱地址,该信息将会用在Git的提交日志中,因为是公开的,请不要使用不便公开的隐私信息,尽量不要使用中文名称,以免出现编码错误。
git config --global user.name "Firstname Lastname"   # 替换你的Firstname Lastname
git config --global user.email "your_email@example.com"   # 替换你的your_email@example.com

3. 访问仓库

  1. 通常,作为程序开发者,我们把远程仓库的代码下载到本地仓库中,并修改/调试/增加代码后,然后将本地代码上传到远程仓库中,完成版本管理。那么我们可以通过SSH等方式连接远程仓库,此时需要一个密钥才能安全连接。
# 打开Git终端,设置了本地Git的用户名后,使用以下指令生成密钥
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" 	# xxxxx@xxxxx.com为你的用户名,输入后按照提示存储密钥

在这里插入图片描述

cat ~/.ssh/id_ed25519.pub  # 查看公钥
  1. gitee的操作
    在这里插入图片描述
    在这里插入图片描述
  2. github操作
    在这里插入图片描述
  3. Git配置多个SSH-Key,在 ~/.ssh 目录下新建一个 config 文件,添加如下内容(其中 Host 和 HostName 填写 git 服务器的域名,IdentityFile 指定私钥的路径),配置后我们可以切换访问GitHub或者gitee。
# 在IdentityFile选项我使用了相同的密钥,其实可以使用不同的密钥,只需执行ssh-keygen命令生成不同的密钥就行了
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519
# 可用于生成不同的访问密钥
ssh-keygen -t rsa -C 'xxxxx' -f ~/.ssh/gitee_id_rsa
ssh-keygen -t rsa -C 'xxxxx' -f ~/.ssh/github_id_rsa
  1. 测试SSH连接
ssh -T git@gitee.com
ssh -T git@github.com

在这里插入图片描述

  1. 克隆远程已有仓库到本地仓库
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 试验一下,在克隆后的目录新建一个hello.c文件,并推送到远程仓库中,使用以下的命令。
git add hello.c		# 加入到暂存区
git commit -m "creator a test file"		# 提交,“”引号内容为说明
git push	# 推送到远程仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. Git常用命令

  1. git init 初始化仓库
git init
Initialized empty Git repository in E:/Git/Git Test/gituser/.git/
  1. git status 查看仓库状态
git status
On branch master		# 提示我正处于master分支
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
  1. git add 向暂存区添加文件,成为Git仓库管理对象。
git add README.MD
  1. git commit 保存仓库的历史记录
git commit -m "creator a test file"		# 提交,“”引号内容为说明
  1. git diff 查看更改前后的差别
git diff
diff --git a/hello.c b/hello.c
index e69de29..2220740 100644
--- a/hello.c
+++ b/hello.c
@@ -0,0 +1 @@
+12346
\ No newline at end of file

git diff HEAD	# 查看与最新提交的区别
  1. git log 查看日志信息
  2. 分支:在进行多个并行作业时,会用到分支,master为默认的分支,从该分支可以派生其他分支,到最后可以合并在一起。
  3. git branch 显示分支一览表
git branch
* master  # 当前分支正处于master
  1. git checkout 创建切换分支
git checkout -b dev1 # -b参数为创建,切换时不需要该参数
Switched to a new branch 'dev1'
  1. git merge 合并分支
git merge --no-ff dev1
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts

# 在大写情况下,输入ZZ退出编辑
Merge made by the 'ort' strategy.
 13.c | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 13.c
  1. git reset 回溯历史版本
git reset --hard 33090bb4c1b655f291d8138a39e25b973aa45bc1 # hard 参数后面目标时间点的哈希值,git log可以查看
HEAD is now at 33090bb creator a test file
  1. git remote add 添加远程仓库
git remote add git@gitee.com:INT_TANG/test.git
usage: git remote add [<options>] <name> <url>

    -f, --fetch           fetch the remote branches
    --tags                import all tags and associated objects when fetching
                          or do not fetch any tag at all (--no-tags)
    -t, --track <branch>  branch(es) to track
    -m, --master <branch>
                          master branch
    --mirror[=(push|fetch)]
                          set up remote as a mirror to push to or fetch from
  1. git push 推送至远程仓库
git push -u origin dev1 # 推送到dev1分支,也可以推送到其他分支,-u参数表示在推送的时候,
						# 将dev1分支设置为本地仓库的分支上游,到时git pull获取内容时,省去很多参数设置
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 303 bytes | 151.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
remote: Create a pull request for 'dev1' on Gitee by visiting:
remote:     https://gitee.com/INT_TANG/test/pull/new/INT_TANG:dev1...INT_TANG:master
To gitee.com:INT_TANG/test.git
 * [new branch]      dev1 -> dev1
branch 'dev1' set up to track 'origin/dev1'.

  1. git clone 获取远程仓库
git clone git@github.com:Init-Tang/Test.git
  1. git pull 获取最新的远程仓库分支
git pull origin develop
From gitee.com:INT_TANG/test
 * branch            develop    -> FETCH_HEAD
Already up to date.

5. 一般Pull Request流程

  1. 当我们发现bug或代码修改增加等,就需要使用Pull Request来更新仓库内容。
  2. 如果是我们自己创建的远程仓库,直接clone到本地仓库修改提交就行了,因为我们拥有自己仓库的所有权。
  3. 如果是别人的仓库,首先把别人的仓库Fork到自己的远程仓库中,因为我们没有被授权操作该仓库。
    在这里插入图片描述
  4. 此时我们的远程仓库就存有与他人仓库相同的代码,然后将复制(Fork)的仓库clone到本地中。
  5. 然后在本地仓库中新建一个分支来操作(重要),然后开始修改代码/修复bug等操作。
    在这里插入图片描述
  6. 修改完成后提交git暂存和管理。
    在这里插入图片描述
    在这里插入图片描述
  7. 创建Pull Request。
    在这里插入图片描述
    在这里插入图片描述
  8. 接下来等待他人的审核,就完成了Pull Request,如果是团队合作开发,那么应该使用为每个开发者添加公钥获取仓库权限的开发方式更方便。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,你提到了一些关于使用GitGitee的命令和配置。然而,你的问题是关于一个特定的仓库的URL。根据提供的URL(https://gitee.com/jujubaoberi/sjchecker.git),这是一个Gitee上的仓库。你可以使用以下命令将该仓库克隆到本地: git clone https://gitee.com/jujubaoberi/sjchecker.git 这将在当前目录下创建一个名为sjchecker的文件夹,并将仓库的内容克隆到该文件夹中。如果你想要将更改推送到远程仓库,你可以使用以下命令: git add . git commit -m "提交信息" git push origin master 这将添加你的更改,创建一个提交,并将更改推送到远程仓库的master分支。请确保你已经在本地设置了正确的用户名和密码,以便进行身份验证。如果你遇到403错误,可能是因为你没有正确设置令牌或密码。你可以按照Gitee的文档或参考其他资源来设置令牌或密码以解决此问题。 #### 引用[.reference_title] - *1* *2* [git:info: detecting host provider for ‘https://gitee.com/‘...](https://blog.csdn.net/cd_yourheart/article/details/127385705)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [`全网最细!! 入门必看Git教程链接:https://gitee.com/all-about-git`](https://blog.csdn.net/qq_37855368/article/details/126414209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值