Git与Github远程仓库使用

发布于:2025-02-13 ⋅ 阅读:(15) ⋅ 点赞:(0)


自行安装git工具,进介绍命令以及操作

连接远程仓库Github

国内gitee相通,理解了原理即可。

配置git信息

git config --global user.name "你的github账号名字"
git config --global user.email "你的github注册的邮箱"

生成key

$ ssh-keygen -t rsa -C "输入你github上注册的邮箱"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/tianqixin/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase):    # 直接回车
Enter same passphrase again:                   # 直接回车
Your identification has been saved in /Users/tianqixin/.ssh/id_rsa.
Your public key has been saved in /Users/tianqixin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MxxxxxxxQoJwoqUmI4LxxxxxxxrOEzkxrwARI 12345678@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|xxxxxxx*oo       |
|%Oxxxo=o. .      |
|%xxxx.o.         |
|Oxxxxx o         |
|+xxx    S        |
|.                |
|                 |
|                 |
|                 |
+----[SHA256]-----+

添加Key

找到你的key,按照上述步骤你在响应中他会告诉你的key文件放在哪里了,默认文件名就是id_rsa.pub,打开id_rsa.pub复制里面所有东西,即你的key。

在你的github账户中new 一个key先

title随意,填入你复制的key完成即可

测试连通

输入下面这句话

ssh -T git@github.com

如果报错信息

存在该报错信息就按照下面的步骤来

#打开git bash,这一步一定要打开git bash
#输入
eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa

再次输入测试命令

ssh -T git@github.com

看到以下信息表示成功了

下面就是经典的命令操作

$ mkdir runoob-git-test                     # 创建测试目录
$ cd runoob-git-test/                       # 进入测试目录
$ echo "# 菜鸟教程 Git 测试" >> README.md     # 创建 README.md 文件并写入内容
$ ls                                        # 查看目录下的文件
README
$ git init                                  # 初始化
$ git add README.md                         # 添加文件
$ git commit -m "添加 README.md 文件"        # 提交并备注信息
[master (root-commit) 0205aab] 添加 README.md 文件
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

# 提交到 Github
$ git remote add origin git@github.com:tianqixin/runoob-git-test.git
$ git push -u origin master

Git基本了解

在此模块使用的都是一些基础操作,不涉及什么分支,我们只用一个分支,然后推送到远程仓库一条龙

本地目录
版本库
index-暂存区
HEAD-指向分支的游标
  • git从本地目录开始init
  • 版本库中包含暂存区和HEAD分支指向
  • 每一个分支可以理解为你每一次的备份
  • 分支很多的时候git项目会越来越大
git_add
git_commit
git_push
git_fetchx
git_add
常用操作顺序
add推送到暂存区index
提交到分支版本仓库
push远程仓库
下载远程仓库分支

初级使用

初始化项目

git init  #默认在当前目录作为项目进行初始化

git init 指定目录名 #指定后会在你这个目录下生成

建议修改编码显示

在文件存在中文的时候可能会出现如下字符码而不是中文字符

修改.gitconfig配置文件即可
位置在【C:\Users\用户名.gitconfig】
或者【安装的根路径\Git\mingw64\etc\gitconfig】

[user]

    name = 用户名

    email = 邮箱

[core]

    quotepath = false

[gui]

    encoding = utf-8

[i18n]  

    commitencoding = utf-8  

    # log编码  

[svn]  

    pathnameencoding = utf-8  

    # 支持中文路径

比如查看 git status就能显示中文了

查看项目文件内容改动状态

查看仓库当前的状态,显示有变更的文件。

git status 

修改好推送暂存区

git add filename

git add . #这个是推送整个目录

提交本地版本库

当你add文件差不多的时候,即你的项目感觉可以发布的时候可以选择commit到本地版本库存着

git commit


#可以添加注释方便以后查看你修改了什么东西
git commit -m "你的注释"

推到远程仓库

什么是远程主机名

下面这条命令就说明了为什么主机名是origin,因为我是通过这个命令查找出来主机名的。

git remote

git remote -v #查看详细信息

第一次推送要添加远程仓库

如果没有仓库的话首先github上创建项目仓库



创建完成后找到SSH选项复制下来
origin是远程主机名

git remote add origin git@github.com:whoisdhan/Security-Notes.git

提交

当你添加仓库完成后或者你已经不是第一次提交了,那就可以忽略添加远程仓库这一步,直接提交你commit的内容即可

git push -u <远程主机名> <本地分支名>:<远程分支名>

#以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
git push -u origin master


推送完成,github上查看即可

注明:在你第一次添加的时候是远程可能不存在分支是空仓库,所以不能直接使用git push -u <远程主机名> <本地分支名>:<远程分支名>,这条命令一般是当你存在多个分支的时候,比如本地某个分支需要合并到远程仓库的某个分支中的时候就需要用到。
其实如果没很多分支且都是默认分支名字的时候,用一条命令即可:``git push -u origin master

更多命令解释

创建仓库命令

下表列出了 git 创建仓库的命令:

命令 说明
git init 初始化仓库
git clone 拷贝一份远程仓库,也就是下载一个项目。
Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

下表列出了有关创建与提交你的项目的快照的命令:

提交与修改

命令 说明
git add 添加文件到暂存区
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git difftool 使用外部差异工具查看和比较文件的更改。
git range-diff 比较两个提交范围之间的差异。
git commit 提交暂存区到本地仓库。
git reset 回退版本。
git rm 将文件从暂存区和工作区中删除。
git mv 移动或重命名工作区文件。
git notes 添加注释。
git checkout 分支切换。
git switch 更清晰地切换分支。
git restore 恢复或撤销文件的更改。
git show 显示 Git 对象的详细信息。

提交日志

命令 说明
git log 查看历史提交记录
git blame <file> 以列表形式查看指定文件的历史修改记录
git shortlog 生成简洁的提交日志摘要
git describe 生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交

远程操作

命令 说明
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并
git submodule 管理包含其他 Git 仓库的项目