上传项目代码到Github|Gitee

举报
WHYBIGDATA 发表于 2023/01/31 11:22:00 2023/01/31
【摘要】 上传项目代码到Github|Gitee

上传项目代码到Github|Gitee



1、前置准备

1.1 Git 安装

官网地址: https://git-scm.com/

  • 查看 GNU 协议,可以直接点击下一步。

图片1

  • Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。

图片2

  • Git 选项配置,推荐默认设置,然后下一步。

图片3

  • Git 安装目录名,不用修改,直接点击下一步。

图片4

  • Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。

图片5

  • 分支名设置,选择让 Git 决定,分支名默认为 master,下一步。

图片6

  • 修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。

图片7

  • 后台客户端连接协议,选默认值 OpenSSL,然后下一步。

图片8

  • 配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,选择第一个自动转换,然后继续下一步。

图片9

  • Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。

图片10

  • Git pull 合并的模式,选择默认,然后下一步。

图片

  • 选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。

图片

  • 其他配置,选择默认设置,然后下一步。

图片

  • 实验室功能,技术还不成熟,有已知的 bug,不要勾选,然后点击右下角的 Install 按钮,开始安装 Git。

图片

点击 Finsh 按钮,Git 安装成功!

在这里插入图片描述

  • 右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。

图片

在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功。

图片

1.2 在 Git 中设置用户名

1.2.1 为计算机上的每个存储库设置 Git 用户名

Git 使用用户名将提交与身份关联。 Git 用户名与您的 GitHub 用户名不同。

设置用户签名基本语法,示例如下:

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git config --global user.name Layne 
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) $ git config --global user.email Layne@atguigu.com 
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ cat ~/.gitconfig 
[user]  name = Layne 
 email = Layne@atguigu.com 

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。

Git 首次安装必须设置一下用户签名,否则无法提交代码。

1.2.2 为一个仓库设置 Git 用户名

将当前工作目录更改为您想要在其中配置与 Git 提交关联的名称的本地仓库。

  • 设置 Git 用户名:
$ git config user.name "7&"
  • 确认您正确设置了 Git 用户名:
$ git config user.name
> 7&

1.3 SSH免密登录

我们可以看到远程仓库中有一个 SSH 的地址,因此我们也可以使用 SSH 进行访问。

图片1

具体操作如下:

--进入当前用户的家目录 
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ cd 
--删除.ssh目录 
Layne@LAPTOP-Layne MINGW64 ~ 
$ rm -rvf .ssh removed '.ssh/known_hosts' 
removed directory '.ssh' 
--运行命令生成.ssh秘钥目录[注意:这里-C这个参数是大写的C] 
Layne@LAPTOP-Layne MINGW64 ~ 
$ ssh-keygen -t rsa -C atguiguyueyue@aliyun.com 
Generating public/private rsa key pair. 
Enter file in which to save the key (/c/Users/Layne/.ssh/id_rsa): 
Created directory '/c/Users/Layne/.ssh'. 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /c/Users/Layne/.ssh/id_rsa. 
Your public key has been saved in /c/Users/Layne/.ssh/id_rsa.pub. 
The key fingerprint is: 
SHA256:7CPfRLITKcYDhaqpEDeok7Atvwh2reRmpxxOC6dkY44 atguiguyueyue@aliyun.com 
The key's randomart image is: 
+---[RSA 2048]----+ 
|     ..          | 
|    ..           | 
| . ..            | 
|+ +  o . .       | 
|oO .  = S .      | 
|X . .. + =       | 
|+@ * .. = .      | 
|X.&o+. o =       | 
|Eo+Oo   . .      | 
+----[SHA256]-----+ 
--进入.ssh目录查看文件列表 
Layne@LAPTOP-Layne MINGW64 ~ 
$ cd .ssh 
Layne@LAPTOP-Layne MINGW64 ~/.ssh 
$ ll -a total 21 drwxr-xr-x 1 Layne 197609    0 1125 19:27 ./ drwxr-xr-x 1 Layne 197609    0 1125 19:27 ../ 
-rw-r--r-- 1 Layne 197609 1679 1125 19:27 id_rsa 
-rw-r--r-- 1 Layne 197609  406 1125 19:27 id_rsa.pub 
--查看id_rsa.pub文件内容 
Layne@LAPTOP-Layne MINGW64 ~/.ssh 
$ cat id_rsa.pub 
ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAABAQDRXRsk9Ohtg1AXLltsuNRAGBsx3ypE1O1Rkdzpm l1woa6y6G62lZri3XtCH0F7GQvnMvQtPISJFXXWo+jFHZmqYQa/6kOIMv2sszcoj2Qtwl lGXTPn/4T2h/cHjSHfc+ks8OYP7OWOOefpOCbYY/7DWYrl89k7nQlfd+A1FV/vQmcsa1L P5ihqjpjms2CoUUen8kZHbjwHBAHQHWRE+Vc371MG/dwINvCi8n7ibI86o2k0dW0+8SL+ svPV/Y0G9m+RAqgec8b9U6DcSSAMH5uq4UWfnAcUNagb/aJQLytrH0pLa8nMv3XdSGNNo
AGBFeW2+K81XrmkP27FrLI6lDef atguiguyueyue@aliyun.com 

复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys

图片2

图片3

图片4

接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。

1.4 Github创建一个新的仓库

操作简单,此处不演示

2、上传项目

2.1 初始化本地库

在需要上传的文件目录中,执行以下初始化命令

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 
$ git init 
Initialized empty Git repository in D:/Git-Space/SH0720/.git/  
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ ll -a total 4 drwxr-xr-x 1 Layne 197609 0 1125 14:07 ./ drwxr-xr-x 1 Layne 197609 0 1125 14:07 ../ 
drwxr-xr-x 1 Layne 197609 0 1125 14:07 .git/

.git 初始化的效果,生成git

2.2 添加远程仓库到本地

  • 基本语法
git remote -v 查看当前所有远程地址别名 
git remote add 别名 远程地址 
  • 案例实操
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) $ git remote -v 
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git remote add origin https://github.com/shadowlim/course_design.git  
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git remote -v 
ori     https://github.com/atguiguyueyue/git-shTest.git (fetch) ori     https://github.com/atguiguyueyue/git-shTest.git (push) 

2.3 查看本地库状态

  • 首次查看(工作区没有任何文件)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) $ git status 
On branch master 
 
No commits yet 
 
nothing to commit (create/copy files and use "git add" to track) 
  • 新增文件之后再次查看状态,检测到未追踪的文件
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ vim hello.txt 
hello git!

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git status 
On branch master 
 
No commits yet 
 
Untracked files: 
  (use "git add <file>..." to include in what will be committed) 
         hello.txt 
 
nothing added to commit but untracked files present (use "git add" to track) 

2.4 添加暂存区

  • 将工作区的文件添加到暂存区

git add 文件名

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git add hello.txt warning: LF will be replaced by CRLF in hello.txt. 
The file will have its original line endings in your working directory.
  • 查看状态(检测到暂存区有新文件)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git status 
On branch master 
 
No commits yet 
 
Changes to be committed: 
  (use "git rm --cached <file>..." to unstage) 
 
        new file:   hello.txt 

2.4 提交本地库

git commit -m “日志信息” 文件名

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git commit -m "my first commit" hello.txt 
warning: LF will be replaced by CRLF in hello.txt. 
The file will have its original line endings in your working directory. 
[master (root-commit) 86366fa] my first commit 
 1 file changed, 16 insertions(+)  create mode 100644 hello.txt 
  • 查看状态(没有文件需要提交)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master) 
$ git status On branch master 
nothing to commit, working tree clean 

2.6 推送本地分支到远程仓库

  • 语法
git push 别名 分支 
  • 案例实操
git push -u origin master 

push如果出现以下错误,尝试下方两个方法:

! [rejected] master -> master (fetch first)
error: failed to push some refs to ‘https://github.com/shadowlim/course_design.git

  • 方法一:强制push
git push -u origin master --force
  • 方法二:先拉取仓库,再push
git pull --rebase origin master
git push -u origin master 

3、上传到已有的仓库

如果需要将代码上传到已经有内容的仓库中,那么需要提前拉取仓库的内容到本地

git pull origin master

拉取后再按照2.3开始的步骤即可。

结束!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。