Git 学习记录(把本地项目上传到githup网站仓库)

本文详细介绍Git版本控制系统的基本操作,包括安装、配置、初始化仓库、文件管理、版本回退等,并指导如何将本地项目上传至GitHub,涵盖SSH密钥设置、仓库创建与同步过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇博文主要记录自己学习Git的笔记/总结

参考教程 廖雪峰的官方网站

1、Git和CVS及SVN的异同点

  • githup是分布式版本控制系统
  • CVS和SVN是集中式版本控制系统
  • 这三种都是免费开源

2、 集中式版本控制系统和分布式版本控制系统区别

  • 集中式必须有专门的版本服务器,集中存放文件,需要联网
  • 分布式每台电脑都可和其他电脑进行版本更新,也可设置一台电脑专门用于版本内容交换更新

3、Git客户端官方下载地址

https://git-scm.com/downloads

4、Git、Githup及Gitlab的区别

  • Git是一个工具,用于版本管理
  • Githup是一个网站,给用户创建git仓库,用于存放代码文件
  • Gitlab是基于git的项目管理管理软件

5、使用Git

以windows系统为例
点击 ‘Git Bash’图标,出来一个命令窗口,如下,在‘$’后可以输入命令

Administrator@USER-20180123LH MINGW64 ~
$ 

登录

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

首先在D盘创建一个文件夹用于管理代码,例如新建文件夹‘git’(文件名只要是英文就行)
查看当前所在的目录,切换目录

$ pwd				
$ cd d:/git        
$ pwd
$ mkdir learngit
$ cd learngit/
$ pwd

运行git init把目录变成Git可以管理的仓库,显示如下:

Administrator@USER-20180123LH MINGW64 /d/git/learngit
$ git init
Initialized empty Git repository in D:/git/learngit/.git/

新生成的.git目录是用来跟踪管理版本库,不要手动修改里面的文件

Administrator@USER-20180123LH MINGW64 /d/git/learngit (master)
$ ls -la
total 4
drwxr-xr-x 1 Administrator 197121 0 十一月 21 16:03 ./
drwxr-xr-x 1 Administrator 197121 0 十一月 21 16:03 ../
drwxr-xr-x 1 Administrator 197121 0 十一月 21 16:03 .git/

用Notepad++文本编辑器在D盘的/git/learngit目录(子目录也行)下新建一个readme.txt的文件,随意写入一些内容,例如

Git is a version control system.
Git is free software.

用如下命令把readme.txt文件添加到Git仓库中,‘-m’后是说明对仓库做了什么修改,便于其他人查阅

$ git add readme.txt
$ git commit -m "wrote a readme file"

修改readme.txt文件,如下:

Git is a distributed version control system.
Git is free software.

$ git status	#查看当前库的状态,会显示有修改但未提交,并指出被修改的文件是readme.txt
$ git diff readme.txt 	#查看readme.txt做了哪些修改
$ git add readme.txt	#把修改放到暂存区(stage)
$ git status	#再次查看库的状态,显示修改将要被提交
$ git commit -m "add distributed"	#把修改提交到分支
$ git status	#显示当前没有什么可提交的

回退版本
HEAD^上一个版本
HEAD^^上上个版本
HEAD~100往前数第100个版本
命令如下:

git reset --hard HEAD^	#回退到上一个版本

git reflog查看历史操作

Administrator@USER-20180123LH MINGW64 /d/git/learngit (master)
$ git reflog
b41aa25 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
586b5f2 HEAD@{1}: commit: 增加了一个空行和测试
b41aa25 (HEAD -> master) HEAD@{2}: commit: add distributed
922bff2 HEAD@{3}: commit (initial): wrote a readme file

回退到任意版本git reset --hard commit_id
例如回退到‘增加了一个空行和测试’的那一个版本’

$ git reset --hard 586b

比较工作区和版本库文件的区别

$ git diff HEAD --readme.txt

丢弃工作区的修改

$ git checkout -- readme.txt

这里有两种情况:

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

丢弃暂存区的修改

$ git reset HEAD readme.txt

添加新文件test.txt并提交,做删除操作

  • 提交删除
$ git rm test.txt
$ git commit -m "remove test.txt" 

误删撤销

$ git checkout -- test.txt

6、上传本地项目到githup

6.1 githup网站端设置
  • 先注册githup账号
  • 登陆githup后点右上角图标–再点击“Settings”进入设置页面
  • 点“SSH and GPG keys”,再点击“New SSH key”,Title名字随便写,比如“办公电脑”, Key的内容写本地电脑公钥的内容,然后点击“Add SSH key”
  • githup的公钥和私钥文件在本地电脑主目录下,获取方式如下:
    打开本地的 “Git Bash”
Administrator@USER-20180123LH MINGW64 ~
$ cd ~
Administrator@USER-20180123LH MINGW64 ~
$ ls -la #显示如下
其他文件
drwxr-xr-x 1 Administrator 197121       0 十一月 21 19:47  .ssh/
其他文件

在主目录“~”下有一个名为“.ssh/”的目录,该目录有两个文件,id_rsa是私钥文件,id_rsa.pub是公钥文件(如果没有这两个文件,在Git Bash中执行ssh-keygen -t rsa -C "youremail@example.com",其他步骤保持默认即可),把公钥文件id_rsa.pub中的内容复制到上述githup的Key的方框内保存

Administrator@USER-20180123LH MINGW64 ~
$ cd .ssh/
Administrator@USER-20180123LH MINGW64 ~/.ssh
$ ls -lh
total 9.0K
-rw-r--r-- 1 Administrator 197121 1.7K 八月   27 11:00 id_rsa
-rw-r--r-- 1 Administrator 197121  509 八月   27 11:11 id_rsa.pub
-rw-r--r-- 1 Administrator 197121  801 十一月 21 19:49 known_hosts
Administrator@USER-20180123LH MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvnzxDfvbZIuryZzxv/g0p+0ny64OVEEhjteMUXWr51BWD8Audd8x8HaljudFua/hXm7kM36+h4mTd5a8G8/FrXFzWBqXlL72QIqVocbPwqDcEJLagnpalngGkN+hstEbeuNd5VkldJuQvL/9pXhBnQTnpPM0/3+zzKmXCfpGRxVdqWyOX2PnZYwfn65+BWbt4KLIzahQM2iLuUDh3XLhpxssRXEEZ/biMf5pp9KhFEFF+2SLtfh8AEwwVTTjv3NJmaG5JQL+IvQeocZsORAyh3KSZumNlUz0GcYSwemtKIxrf0F9YnRvC8cWcrg5LKRMToU6mIuPu51/duW90RsJR xxoo@gmail.com
6.2 在githup上新建项目
  • 点击右上角的加号“+” ,再点击“New repository”创建仓库
  • 输入项目名字,例如“Blog”,然后点击“Create repository”

这样就创建了一个新仓库,下一步需要把本地电脑上的项目同步到githup仓库中

6.3 在本地 GIt Bash中操作
#先切换到项目目录,D盘的/git/Blog目录下
$ cd /d/git/Blog
#把这个目录变成Git可以管理的仓库
git init
#把文件添加到版本库中
git add .
#把文件提交到仓库
git commit -m 'first commit'
#git remote add origin 你的远程库地址,如果非第一次同步,则不用执行
git remote add origin https://github.com/blackeagleoht/Blog.git
#获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
#把本地库的内容推送到远程
git push -u origin master
#查询状态
git status

如果项目文件比较大,在执行命令的时候就需要耐心等待
在执行push -u origin master时,会弹出一个窗口,让输入githup的登录账号和密码,之后会同步完成,登录githup网站即可看到项目已同步到Blog的仓库中

### 如何逐步将本地项目传到 GitHub 要将本地项目传到 GitHub,需要完成几个关键步骤。以下是详细的指南: #### 1. 初始化本地仓库项目的根目录下运行以下命令来初始化一个新的 Git 仓库: ```bash git init ``` 这一步会在当前文件夹中创建一个 `.git` 文件夹,用于存储版本控制数据。 #### 2. 配置用户名和邮箱地址 为了确保提交记录中有正确的作者信息,在终端执行以下命令并替换 `YOUR NAME` 和 `YOUR EMAIL ADDRESS` 为你自己的信息[^5]: ```bash git config --global user.name "YOUR NAME" git config --global user.email "YOUR EMAIL ADDRESS" ``` #### 3. 添加远程仓库链接 假设已经在 GitHub 上创建了一个新的空仓库(例如名为 `my-repo`),可以通过以下方式将其设置为远程仓库: ```bash git remote add origin https://github.com/your-username/my-repo.git ``` 这里的 URL 是你在 GitHub 创建新仓库后获得的 HTTPS 地址。 #### 4. 提交更改至本地仓库 先通过 `add` 命令把所有修改过的文件加入暂存区,再用 `commit` 把这些改动正式保存下来: ```bash git add . git commit -m "Initial commit of my project" ``` 上述操作会将整个工作树中的最新状态打包成一次提交记录。 #### 5. 推送代码到 GitHub 远程服务器 最后一步就是实际推送已有的提交历史给远端主机上的分支 master 或 main (取决于默认配置)。如果这是第一次推送,则可能还需要强制指定目标分支名: ```bash git push -u origin master # OR if your default branch is named 'main': git push -u origin main ``` -u 参数的作用是指定上游(upstream),这样以后就可以简单地使用 git pull/push 而不需要额外参数[^1]. #### 6. 使用 Maven 插件自动部署文档站点(可选) 如果有需求利用 maven 构建工具自动生成网站并通过 github site-maven-plugin 发布出去的话,请记得按照说明编辑好个人认证资料于 ~/.m2/settings.xml 中[^2] : ```xml <settings> <servers> <server> <id>github</id> <username>YOUR-GITHUB-USERNAME</username> <password>YOUR-TOKEN-OR-PASSWORD</password> </server> </servers> </settings> ``` 注意这里建议采用 OAuth Tokens 来代替明文密码提高安全性。 对于其他平台比如 Heroku 的集成也可以参考相应官方指引完成环境搭建以及应用上线流程[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值