Git +github介绍+安装+基本使用+常用命令介绍

Git +github介绍

git介绍

Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。

Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如Subversion,CVS,Perforce和ClearCase之类的SCM工具,具有廉价的本地分支,便捷的暂存区域和 多个工作流等功能。

github介绍

GitHub 是一个面向开源及私有 软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。 GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。GitHub 去年为漏洞支付了 16.6 万美元赏金。 2018年6月,GitHub被微软以75亿美元的价格收购。

安装

github安装

Git官方下载地址

Git支持多平台(Mac OS X/Windows/Linux/Solaris),读者可根据自己的平台选择相应的版本下载。

Linux 各版本下安装Git:

Debian/Ubuntu $ apt-get install git-core

Fedora $ yum install git

Gentoo $ emerge --ask --verbose dev-vcs/git

Arch Linux $ pacman -S git

下载并安装完成后,我们通常在Mac OSX及Linux平台下用终端工具(Terminal)来使用Git,而在Windows平台下用Git Bash工具,如下图所示。

建立链接

本地Git与GitHub服务器之间保持通信时,我们使用SSH key认证方式来保证通信安全,所以在使用GitHub前你必须先建创自已的SSH key。 我们后续操作以Windows为例,打开Git Bash,如下图所示。
在这里插入图片描述

(1)进入 SSH 目录。

fASUS@LAPTOP~
$ cd ~/.ssh

ASUS@LAPTOP ~/.ssh
$ pwd
/c/Users/AUSUj/.ssh

(2)生成新的 SSH 秘钥。

如果你已经有了一个秘钥(默认秘钥位置~/.ssh/id_rsa文件存在。)

ASUS@LAPTOP ~/.ssh
$ ssh-keygen -t rsa -C “任意邮箱地址” :–如何不存在文件.ssh,就直接运行这句话就是
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/fnngj/.ssh/id_rsa): --回车
Enter passphrase (empty for no passphrase): --回车
Enter same passphrase again: --回车
Your identification has been saved in /c/Users/fnngj/.ssh/id_rsa.
Your public key has been saved in /c/Users/fnngj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:wKZULh3Vr3YOCF9fvQojOawPEqPM2bQXtNPddfdfdddd 11111@sina.com
The key’s randomart image is:
±–[RSA 3072]----+
| o… |
| = . . |
| o *. . . |
| . +o.+ o o . .|
| .+ BS@.+ o .|
| o = + O=Oo+ . |
| = + o.oo+o… |
| o… o. |
| … E |
±—[SHA256]-----+

ASUS@LAPTOP ~/.ssh
$ ls
id_rsa id_rsa.pub

查看目录下会生成两个问题,id_rsa 是私钥,id_rsa.pub 是公钥。记住千万不要把私钥文件id_rsa 透露给任何人。

*注意:在git-bash使用路径时一定要用\\

注册GitHub

GitHub官方地址

在浏览器中打开GitHub网址,通过首页进行注册,如下图所示。
在这里插入图片描述注册成功后。

创建第一个git 仓库

在GitHub选择并创建一个项目。首先,登录 GitHub,单击页面右上角加号“+” ,选择“New repository” 选项。

填写项目名称及描述,默认项目为“Public”,如果想创建“Private”项目,GitHub需要收费。最后单击“Create repository”完成项目的创建,如下图所示。

仓库名称为:test_dev
在这里插入图片描述

方式1

创建完一个项目之后,GitHub会提示我们如何提交项目到它上面。
Quick setup — if you’ve done this kind of thing before
HTTPS  https://github.com/defnngj/project-name.git
SSH    git@github.com:defnngj/project-name.git

…or create a new repository on the command line

echo # project-name >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:defnngj/project-name.git
git push -u origin master

…or push an existing repository from the command line

git remote add origin git@github.com:defnngj/project-name.git
git push -u origin master

…or import code from another repository

You can initialize this repository with code from a Subversion, Mercurial, or TFS project.
克隆代码到本地

使用git bash或者cmd都行

cd [目标目录]
git clone  [url]

如下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200706180323664.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMDMwODYx,size_16,color_FFFFFF,t_70

把项目复制到克隆的仓库目录下
提交代码

“git status” 命令用于查看当前项目下所有文件的状态。

“git add” 命令可以对指定文件添加跟踪。如果后面跟空格加点号“.”,则表示对当前目录下的所有文件进行跟踪。

再次通过 “git status” 命令查看当前Git仓库的信息。

“git commit” 命令将文件(git add 进行管理的文件)提交到本地仓库。-m 参数对本次的提交加以描述。一般提交的描述必不可少,从而方便追溯每次提交都做了哪些修改。

"git push"命令把本地仓库命令提交到github上

GitHub查看提交代码

方式2:

如果只是单纯和仓库建立联系,按如下操作:

在本地建立一个目录,作为和github上仓库建立关系:
建立关系命令:
git config [–global] user.name xxx (git用户名)
git config [–global] user.email xxx (git邮箱)
cd 到你的本地项目根目录下,执行 git init 命令

将本地代码仓库关联到 github 上

git remote add origin https://github.com/github账号/github仓库名称.git
在这一步时如果出现错误:
fatal:remote origin already exists
那就先输入
git remote rm origin

再输入
git remote add origin https://github.com/github账号/github仓库名称.git

就不会报错了。
将代码由本地仓库上传到 github 远程仓库,依次执行下列语句

1、 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败):

git pull --rebase origin master //不加这句可能报错,原因是 github 中的 README.md 文件不在本地仓库中
//可以通过该命令进行代码合并

2、 把当前分支 master 推送到远程,执行此命令后有可能会让输入用户名、密码:

git push -u origin master //执行完之后如果无错误就上传成功了,需要提示的是这里的 master 是 github 默认的分支,
//如果你本地的当前分支不是 master,就用git checkout master命令切换到master分支,
//如果你想用本地当前分支上传代码,则把第6步的命令里的 master 切换成你的当前分支名即可。

至此,操作成功!

其他命令介绍说明

1.三区
工作区: 工作目录!
暂存区: 工作区和本地库中间的区域,用于将修改提交!
本地库: git软件工作的目录,用来维护工作区提交的多个版本的数据!

要使用git做版本控制,必须保证工作区的修改必须提交到本地库!
  1. 初始化
    git config [–global] user.name xxx (git用户名)
    git config [–global] user.email xxx (git邮箱)

    初始化一个本地的目录为git管理的仓库: git init

    所有的git操作命令,都以git开头,必须在git仓库中才可以执行!

  2. 简单的提交

    git add 文件: 将工作区的修改提交到暂存区
    git commit -m ‘xxx’ 文件 : 将暂存区的修改提交到本地库
    git status : 查看git 仓库的状态!

    git rm --cached 文件: 从暂存区撤销提交的修改(当前的文件尚未在本地库有任何版本)
    git reset HEAD 文件: 从暂存区撤销提交的修改

    git reset --hard HEAD : 从本地库恢复修改到工作区。

  3. 版本回溯

    git log : 查看版本日志(详细版)
    git log --pretty=oneline : 以当行模式查看版本日志(简略版)

    git reset --hard HEAD^ : 回退一个历史版本
    git reset --hard HEAD^^^ | ~3 : 回退3个历史版本

    git reflog : 查看指针每次操作的记录

    git reset --hard HEAD xxx(6位) : 恢复操作到指定的版本。

  4. 分支操作
    分支是一个副本的概念,当创建分支时,相当于复制了当前本地库的所有文件!
    分支一般用于同一个工程多条线路同时开发!
    分支之间相互不影响!

    git branch -v : 查看所有的分支
    git branch 分支名: 新建分支
    git checkout 分支名: 切换分支

    git merge 分支名: 合并分支。 先切换要一个分支,从这个分支合并指定分支的代码。

    git branch -d 分支名: 删除分支
    git checkout -b 分支名: 新建并切换分支。

    合并分支时,处理冲突:
    ①查看冲突文件的指定冲突位置
    ②删除特殊的符号,确认冲突位置的代码顺序
    ③提交修改
    git add 文件
    git commit -m ‘xxx’

三、github
github是一个基于git协议的代码托管网站。

  1. 将本地仓库托管到github

     git remote -v :  查看创建的远程url变量
     git remote add  变量名 url : 创建一个远程url变量
    
     git push  [远程仓库的url]/url变量  本地的分支
    
  2. 将github新的修改,拉取到本地
    ① git fetch [远程仓库的url]/url变量 远程的分支
    ② git checkout url变量/远程分支名
    查看远程分支有什么新的内容
    ③ git merge url变量/远程分支名

    ---------------------------
    git pull  [远程仓库的url]/url变量 远程的分支
    
  3. 将一个远程的git仓库克隆到本地

    git  clone url
    
  4. 常见的解决冲突
    在执行push操作时,必须保证本地的版本一定是基于远程的最新版本做的修改!

    push被拒绝: 
            ①执行git pull , 将远程仓库最新的修改拉取到本地
            ②解决可能出现的冲突
            ③执行git push,推送最新的修改
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值