git安装-基础命令-分支命令-总结

一、git安装及创建

1.简述

什么是“版本控制”?
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

1.1简介

Git是目前世界上最先进的分布式版本控制系统,git与svn的五个基本区别。它有以下特点:
分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);
Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;
分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;
分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。

Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 概念上来区分,其它大部分系统以文件变更列表的方式存储信息。 这类系统(CVS、Subversion、Perforce、Bazaar 等等)将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。

GitHub是基于git实现的代码托管。
GitHub可以免费使用,并且快速稳定。
利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。
创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。
学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简单。Bugs可以公开,你可以通过Github评论,提交错误。
在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。

2.创建github仓库

创建账户
登录github的官方网址:https://github.com ,注册账户。

在这里插入图片描述
在这里插入图片描述
创建repository(仓库)
点击右上角的加号旁边的小三角,展开后可以看到New repository,点击进入。填写仓库信息,名称必填、其它自定义。
在这里插入图片描述
创建成功后,可以看到自己的仓库地址。它还介绍了github仓库的常用指令。这个指令需要在本地安装git客户端。
git init //把这个目录变成Git可以管理的仓库
git add README.md //文件添加到仓库
git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
git commit -m “first commit” //把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
git push -u origin master //把本地库的所有内容推送到远程库上

3.安装Git客户端

3.1下载git客户端

官方下载地址:http://git-scm.com/download/ 根据使用系统 下载对应版本
在这里插入图片描述

3.2安装客户端

下载好之后开始安装,欢迎界面,下一步。
在这里插入图片描述
在这里插入图片描述
选择安装路径,不要选择带中文的路径。
在这里插入图片描述
选择安装组件,按默认的来就好了。
在这里插入图片描述
设置开始菜单中快捷方式的目录名称,默认,下一步
在这里插入图片描述
设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择;
在这里插入图片描述
选择换行格式 ,默认选择。
在这里插入图片描述
选择终端模拟器,默认选择
在这里插入图片描述
选择默认,不用文件系统缓存
在这里插入图片描述
等待安装
在这里插入图片描述
git安装成功。
在这里插入图片描述

4.设置SSH key

ssh key是加密传输。
加密传输的算法有好多,git使用rsa,rsa要解决的一个核心问题是,如何使用一对特定的数字,使其中一个数字可以用来加密,而另外一个数字可以用来解密。这两个数字就是你在使用git和github的时候所遇到的public key也就是公钥以及private key私钥。
其中,公钥就是那个用来加密的数字,这也就是为什么你在本机生成了公钥之后,要上传到github的原因。从github发回来的,用那公钥加密过的数据,可以用你本地的私钥来还原。
如果你的key丢失了,不管是公钥还是私钥,丢失一个都不能用了,解决方法也很简单,重新再生成一次,然后在github.com里再设置一次就行

4.1生成SSH key

配置本地SSHKEY 才可以使远程跟本地连接(检查本地SSH KEY生成情况;(如果出现““No such file or directory”或类似的语句,说明缺少ssh的key)
生成KEY的命令如下:
$ cd ~/.ssh
$ ssh-keygen -t rsa -C “emailaddress”(emailaddree此处填写你自己的邮箱地址)
执行成功后会生成如下文件:
在这里插入图片描述
id_rsa.pub 就是我们待会需要的公钥文件,使用命令 cat id_rsa.pub 再将内容复制到剪切板,然后进入github账号设置里面粘贴,或者进入公钥文件对应的文件夹,用记事本打开id_rsa.pub
在这里插入图片描述

4.2为GitHub账号配置ssh key

切换到github,展开个人头像的小三角,点击settings
在这里插入图片描述
然后打开SSH and GPG keys菜单, 点击New SSH key新增密钥,填上标题,跟仓库保持一致吧,好区分。
接着将id_rsa.pub文件中key粘贴到此,最后Add key生成密钥。
在这里插入图片描述

5.上传本地项目到github

5.1创建本地项目

选择一个本地文件夹,用作保存本地仓库文件,文件夹中可以随意创建一个文件,不可为空文件夹(也可以是自己的初始项目文件)。
在这里插入图片描述

5.2建立本地仓库

创建新仓库的指令:

git init///把这个目录变成Git可以管理的仓库
git add README.md //文件添加到仓库
git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add
git status //查询提交状态
git commit -m "first commit" //把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
git push -u origin master //把本地库的所有内容推送到远程库上

具体步骤:
首先,进入到test项目目录(这里的项目目录是上一步创建的项目目录),然后执行指令: git init
在这里插入图片描述
执行命令后会在当前文件夹下生成一个叫 .git 的隐藏文件夹,里面是一些配置文件,不要随意更改。
在这里插入图片描述
接着,将所有文件添加到仓库,执行指令: git add . (add后面还有空格加点)
在这里插入图片描述
然后,把文件提交到仓库,双引号内是提交注释。执行指令: git commit -m “这里是注释信息”
在这里插入图片描述
本地仓库建立成功。

5.3关联上传github仓库

进入github中的test仓库,然后复制仓库地址
在这里插入图片描述
然后执行指令: git remote add origin 这里是复制的仓库地址
在这里插入图片描述
上传本地代码
执行指令: git push -u origin master
然后输入yes, 回车
本地代码已经推送到github仓库

二、git基本命令

$ mkdir git_test //创建目录
$ cd git_test //切换目录
$ pwd //查看目录
$ git init //初始化git仓库
$ git add //把文件修改添加到暂存区,可反复多次使用,添加多个文件;
$ git commit -m //把暂存区的所有内容提交到当前分支。每一次提交都相当于一次存盘,可以在以后恢复到现在的状态。
$ git status //查看工作区状态
$ git diff //查看修改内容
$ git log //查看修改记录
$ git reset –hard HEAD~1 //回退到上一(n)个版本,HEAD代表当前版本
$ git reset --hard 1094a //切换到任意版本,1094a是版本号
$ git reflog //记录每一次命令,可以找到版本号
$ git checkout – //撤销修改,就是让这个文件回到最近一次git commit或git add时的状态。(commit之后修改了,就回到commit时,add之后修改了,就回到add时)
$ git reset//命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
$ rm test.txt //删除
$ git checkout – test.txt //git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。Add或commit过的文件可以恢复,没有添加过的文件无法恢复
$ cat readme.txt //查看文件内容
$ git remote add origin git@github.com:michaelliao/learngit.git//添加一个名为 origin 的远程仓库
$ git pull origin master --allow-unrelated-histories//把本地仓库的变化连接到远程仓库主分支
$ git push -u origin master//把本地内容推送到远程库
$ git pull origin master --allow-unrelated-histories//如果出错,可以把远程内容先拉过来同步,强行合并可能会出现蓝色提示,为什么要强行合并他们,直接输入“:wq”即可。
$ git clone git@github.com:michaelliao/gitskills.git //从远程库克隆

三、分支命令

$ git branch  //查看本地分支
$ git branch -a (–all) //查看本地及远程仓库分支
$ git branch test  //创建分支
$ git checkout test 也可用switch //切换分支
$ git checkout -b test或者git switch -c //创建并切换,相当于前两个的合并
$ git add .  //提交到暂存区
$ git commit -m "msg"  //提交并附带msg信息
$ git push -u origin test  //上传分支到远程仓库
$ git checkout master  //切换回master主分支
$ git merge test  //合并test分支内容
$ git push  //上传远程仓库
$ git branch -d test  //删除本地分支
$ git push origin --delete test  //删除远程仓库分支
如果两个分支都对同一个文件做了修改,合并可能会遇到冲突
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
Tips:
未add的内容不属于任何一个分支, 未commit的内容也不属于任何一个分支。 也就是说,对于所有分支而言, 工作区和暂存区是公共的。只有commit之后才属于某个分支
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值