git学习,详细的过程

git   生成公钥和私钥  ssh-keygen -t rsa -C "邮箱"



git config --global user.name    #你的名字

 

git config --global user.email # 怎么联系你

 

git init # git初始化,生成.git文件夹:隐藏目录,记录你的操作

 

git status 查看状态

 

git add +文件名   把文件提交到暂存区  或者是  直接   git add .

 

git commit -m '提交信息'    提交到本地版本库

 

 

 Git   rm '文件名'   删除文件 ,删除完还需commit

 

 我们操作都不能在master上操作   我们都在各个分支上去操作

git push origin 分支名字   即可推送成功



为本地库添加远程库

$ git remote add origin https://git.oschina.net/lianshou/test.git

意思是 : 添加 1 个远程库 , 代号是 origin, 地址是 https://....test.git

 

 

git   push  推代码

 git push origin master

意思是 , 把本地的版本 ( 默认是 master), 推到代号为 origin 的远程库去

这个过程会让你输入用户名 / 密码 , 即你注册时的账户密码

 

 

文件操作:

 

添加多个文件:git add <file1><file2>

git add *.txt   添加

 

 

移动或改名:

git mv 源文件 新文件

 

 

改动日志

git log  查看项目的日志

git log <file>  查看某文件的日志

git log . 查看本目录的日志

git log --pretty=online 让日志单行显示

 

 

版本切换

git reflog 查看版本变化

git reset --hard Head^  切换为head的前1版本

git reset --hard 版本号 也可以切换版本

 

分支

git branch 查看分支

git checkout 分支名称 切换分支

git branch 分致命   创建分支

git merge 分支名  合并分支

git branch -D 分支名  删除分支

git checkout -b dev 创建Dev分支并立即切换到dev分支

 

 

远程仓库

git remote 查看远程仓库

git remote -v 查看仓库地址

git remote remove 远程仓库名

git remote add 远程库名 远程库地址  

示例 :

git remote add origin https://git.oschina.net/lianshou/test.git

:  远程库名一般叫origin , 但并非强制 , 你可以自己起名 .

:

git remote add online https://git.oschina.net/lianshou/test.git

 

git remote rename <旧名称> <新名称>

 

 

 

公钥登录

git remote add 远程库名  配置仓库地址

:git remote add gitaddrgit@git.oschina.net:lianshou/test.git

 

ssh-keygen -t rsa -C "邮箱地址"  把邮件地址换成你自己的邮件地址 , 一直回车 , 不用输入密码 . 完成后 , 可以在用户主目录里找

 

.ssh 目录 , 内有id_rsa和id_rsa.pub两个文件 .  id_rsa是私钥 , id_rsa.pub是公钥 .

这两把钥匙是成对的 , 可以让分别持有私钥和公钥的双方相互认识

用记事本打开id_rsa.pub , 复制公钥内容 .

登陆 git.oschina.net, 如下图 , 填入公钥并保存

 

 

 

 

如何提交到远程仓库的指定分支?

 

 

如图:现在本地检出这个分支,命令:

git clone -b liuminglu(此为分支名称) https://git.oschina.net/baijingqi/OurProject.git(远程仓库地址)

 

 

 

 

 

 

打开克隆到本地的文件

 

 

 

 

 

可以看到和网上代码一致 ,现在修改这个文件并提交到liuminglu这个分支上

 

 

加入以上内容,然后开始git add .  

 

Git commit -m ’注释信息’

 

Git push origin liuminglu 即可推送成功


如果是推送 分支名  git  push  github的路径   分支名:分支名


更新分支   git pull  github路径  分支名:分支名

 

 

 

 

 

 

 

 

 

 

如何本地合并远程仓库的分支呢?

 

先把远程仓库完整克隆下来(打开文件是刚才修改的liuminglu分支)

 

 

现在把index.txt这个所属于liuminglu 分支的文件合并到master分支上

 

Git merge origin/liuminglu

 

Git push origin master

 

 

 

现在可以看到master已经有刚才liuminglu分支的文件了



版本错误的时候   想回到上一个版本甚至更久的版本


查看提交的版本信息   

git log --pretty=oneline

好了,现在我们启动时光穿梭机,准备把readme.txt回退到上一个版本,也就是“add distributed”的那个版本,怎么做呢?

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

现在,我们要把当前版本“append GPL”回退到上一个版本“add distributed”,就可以使用git reset命令:

$ git reset --hard HEAD^

最新的那个版本append GPL已经看不到了!好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?
每个都有ID
$ git reset --hard 3628164

Git提供了一个命令git reflog用来记录你的每一次命令:


公钥和私钥的作用

众所周知ssh是加密传输。

加密传输的算法有好多,Git可使用rsa,rsa要解决的一个核心问题是,如何使用一对特定的数字,使其中一个数字可以用来加密,而另外一个数字可以用来解密。这两个数字就是你在使用git和github的时候所遇到的public key也就是公钥以及private key私钥。

其中,公钥就是那个用来加密的数字,这也就是为什么你在本机生成了公钥之后,要上传到github的原因。从github发回来的,用那公钥加密过的数据,可以用你本地的私钥来还原。

如果你的key丢失了,不管是公钥还是私钥,丢失一个都不能用了,解决方法也很简单,重新再生成一次,然后在github.com里再设置一次就行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值