Git与Github远程仓库使用
自行安装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-->add推送到暂存区index--git_commit-->提交到分支版本仓库--git_push-->push远程仓库
常用操作顺序--git_fetchx-->下载远程仓库分支--git_add-->add推送到暂存区index
初级使用
初始化项目
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 仓库的项目 |
Git与Github远程仓库使用的更多相关文章
- git关联github远程仓库的问题
git关联github远程仓库的时候,报fatal: remote origin already exists. 导致这个问题原因可能是之前关联的时候关联错了,再次关联就不行了. 解决办法是: 1.将 ...
- git使用GitHub远程仓库
1.为什么要使用远程仓库我们知道本地仓库可以很容易地实现版本控制,但在多人开发的情况下,我们需要使用一个服务器作为远程仓库.GitHub是一个开源代码库平台以及版本控制系统. 2.GitHub仓库创建 ...
- mac下git连接github远程仓库
git配置 一.安装git 官方网站下载安装,如果有安装homebrew,在终端输入brew install git,安装后的位置在/Users/计算机用户名目录下安装完成后,在终端输入git --v ...
- 使用git在github远程仓库中操作
在github上创建一个仓库,这一步参考廖雪峰老师的git教程,以及其他的一些准备工作略,我只记录几个重要的命令. 从其他github地址克隆项目 $ git clone git@github.com ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)
在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...
- 使用git将本地仓库同步到github远程仓库
一.下载安装git客户端windows版本 二.建立本地仓库文件夹 三.在本地仓库里右键点击Git Bash Here 四.初始化本地仓库 [git init] 执行之后仓库中会创建隐藏的文件夹.gi ...
- git笔记之eclipse使用github远程仓库进行版本号管理
原文地址:http://dtbuluo.com/90.html 这里记录一下eclipse开发工具中git的使用说明. 环境:centOS.eclipse-jee-kepler-SR2-linux-g ...
- Git - Git本地仓库与GitHub远程仓库关联
前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...
- [gitHub实践] git基础:远程仓库的使用
[gitHub实践] git基础:远程仓库的使用 版权2019.6.2更新 git 基础 远程仓库的使用 git remote # 查看远程仓库 $ git remote # 克隆的仓库服务器默认名字 ...
随机推荐
- 推进国产化安全应用:德承工控机DV-1100+银河麒麟操作系统Kylin V10 安装教程
银河麒麟操作系统 V10是一款适配国产软硬件平台并深入优化和创新的新一代图形化桌面操作系统,支持国内外多款主流的处理器,飞腾.鲲鹏.海思麒麟.龙芯.申威.海光.兆芯等国产CPU和Intel.AMD等平 ...
- django数据库反向迁移
目录 django数据库反向迁移 步骤一:连接MySQL 方式一:使用pymysql连接 方式二:使用mysqlclient连接 步骤二:迁移数据库 正向迁移(通过类创建表) 反向迁移(通过表创建类) ...
- Git+Gitee使用分享
Git+Gitee快速入门 创建仓库 初始化本地仓库 验证本地git是否安装好 打开cmd窗口,输入git 这样就OK. Git 全局设置:(只需要设置一次) 这台电脑如果是第一次使用 ...
- JunitGenerator
######################################################################################## ## ## Avail ...
- [转]CMake学习笔记(一)基本概念介绍、入门教程及CLion安装配置
原文链接:CMake学习笔记(一)基本概念介绍.入门教程及CLion安装配置
- 网络编程入门从未如此简单(二):假如你来设计TCP协议,会怎么做?
本文原题"你管这破玩意儿叫TCP?",由闪客sun分享,转载请联系作者. 1.引言 网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确 ...
- 2024新版本如何配置CLion与cubeMX开发STM32
2024新版本如何配置CLion与cubeMX开发STM32 1. 为什么我要在网上有很多教程的情况下再做一个新版 各种大佬们给出的配置教程原本很详细,但是在时间过了这么久之后已经不完全符合现在的环境 ...
- .NET 响应式编程 System.Reactive 系列文章(二):深入理解 IObservable<T> 和 IObserver<T>
.NET 响应式编程 System.Reactive 系列文章(二):深入理解 IObservable<T> 和 IObserver<T> 引言:为什么我们调整了学习顺序? 在 ...
- ATM 管理系统的设计与实现(类似毕业设计,附源代码)
ATM 管理系统的设计与实现 作者前言:本系统通过基本规范化的设计,简单的利用了java基本功能实现了ATM系统,本系统虽然简单,但是逻辑很严密,对于有一定java知识的读者有较大帮助,可以用作参考. ...
- python SQLAlchemy ORM——从零开始学习03 如何针对数据库信息进行排序
03 如何进行排序 3-1准备工作: 因为要排序,所以需要随机多谢数据,model见后文.也需要random进行随机 from model import User, Engine from sqlal ...