git&github基本(草稿、详细、凌乱)

svn

每个开发机上装上svn客户端,代码由svn服务器统一管理

局域网开发用svn比较方便

缺点:服务器单点故障 

 

git  分布式版本控制系统,没有中央服务器

git是本地仓库   远程仓库(github)和本地仓库内容是一样的

git 三种使用方法:

GUI 图形界面:

创建新的库

克隆一个存在的库

打开库

bash:相当于在linux上模拟了个linux环境

git --version

tortoiseGit-.msi

 

git32bit安装

SSH client

git exe path:C:\program files\git\\bin

中文汉化包

版本库又名仓库

显示隐藏的文件——工具

 

 

创建版本库

1.GUI

2.bash

git init

3.右键=》git在这里创建版本库

生成.git 文件夹

包含.git的目录叫做工作目录也叫工作区(working Directory)

点击hello.txt=>totaise git==>添加

把文件由工作区提交到缓存区:

右键=》git-master  (等同于   当乌龟=》添加=》提交)

提交后,就把hello.txt交到隐性文件.git上

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

 

看.git里有什么:(本地仓库下有什么)

右键=》tortoiseGit=》版本库浏览器

叹号——文件有修改  再次右键=》git-master(记得不要点击hello。txt,而是点击空白处)

看修改历史

在文件上点tortaisegit=》显示日志

比较版本差异,选中ctrl键

删除后,空白地方=》tortoise=》还原

如果真的要删除

空白处=》git-master

(本地删除  提交到git版本库的master上  版本库上就没有了 这叫真正删除)

删除并保留本地副本

版本库里没有,但本地有,有个蓝色问号

总结:

git在这里创建版本库,点击文件,乌龟,添加,提交

(可以试试 不点击文件 点空白处  因为有很多文件的话)

 

删除并添加到忽略列表

忽略文件语法规范:

把.gitignore加入到本地仓库中:

点击.gitignore,乌龟=》添加

之后把所有文件提交

 

如果想要交换代码,要把本地仓库(repository)的内容推送到远程(remote)

SSH方式:

secure shell(安全外壳协议),专为远程登录会话和其他网络服务提供安全性的协议

基于密钥的安全机制:

私钥加密,公钥解密;公钥加密,私钥解密

一对密钥:公钥、私钥

私钥不能泄露给任何人,公钥可以分发给其他人

1.生成密钥对

git bash here:

$ssh-keygen -t rsa

密钥对生成在当前用户下面的..ssh目录下

或者是我的电脑=》c:users

没有后缀的是私钥,需要保留好

带pub的是公钥

2.把公钥告诉github

头像=》setings=》SSH and GPG=>new SSH key

github知道我们的公钥,那就无需输入用户名和密码

3.推送

命令行:

找到本地仓库repo1

git bash here:

git remote add origin git@github.ccom:itcastgithub/repo1.git

(版本库 和 远程仓库 关联)

git push -u origin master

/以上两行是把本地仓库推送到远程

GUI:

右键=》

点击git同步

里面的origin  是刚才用命令行建立好的链接

复制url(github上那个)

点击管理

远端:origin

URL:

Putty密:默认是乌龟使用的SSH密钥

点击网络,确认客户端是不是SSH

不是,就自己找到:C:program files/git/user/bin/ssh.exe

这样用的就是刚才的密钥对

回到远端:

Putty密:c:users/itcast/.ssh   选择id_rsa 私钥

用私钥加密,向服务器发送数据,服务器再用公钥解

点击添加 点击ok

点击推送

HTTP方式

到本地仓库,repo1下,右键=》同步=》管理=》远端填origin1

不需要密钥

添加/保存

ok

选择origin1

推送

克隆远程仓库到本地:

乌龟/命令行

1.$git clone url

2.点击Git克隆

推送修改的文件以及解决冲突

repo1 添加hello3.txt  点击乌龟添加、点击提交

给hello3增加新内容,之后点击提交

照例推送到github=》repo3

但是在repo1空白处点击git同步,远端选择origin1=》repo3的

然后github上repo3有hello3.txt,本地却没有

在repo3下,git同步,拉取(把远程仓库的变化更新到本地仓库)

repo1的hello.txt修改先提交,然后git同步,远端选择origin1,推送

repo3下的hello.txt也做修改,然后git提交,推送到远程  失败

因为服务端更新数据了,你这个本地仓库数据更新不是最新的

这时拉取,把远端的修改拉取到本地  失败 因为这个仓库中修改这个文件,那个仓库也修改

有冲突,手动合并

修改的代码离的很近

点击修改的文件=》乌龟=》解决冲突

空白=》提交=》推送

私有服务器

创建一个服务器,装上git,用这个本地仓库当做远程仓库

 

分支:

有本地仓库,就有一个master分支

master分支是一条线,把每次的提交串成一条线   

master指针指向当前最新提交点

HEAD指向master

右键乌龟=》切换/检出

创建分支

:创建新分支dev

让分支切换到dev:

对工作区的修改和提交都是针对dev,新提交一次,dev指针往前移一步,master指针不变

合并、删除

repo1:乌龟=》切换/检出=》master

新建text,添加=》提交

修改hello3

切换dev1:

在repo1新建text、修改hello3

把dev合并到master:

先切换到master

乌龟=》合并=》分支选dev1=》确定

然后把master这个分支提交

切换/检出 里 删除分支

 

 

github

firefox boss

chrome 小弟

回到start a project   小猫图标

repository name 仓库名=》https://github.com/fhuy/Vue-cms.git

public

create

(不用勾选下面的方框)

下载git

提交并修改:

boss希望项目在new project下开发

(new project 文件夹)

cmd=》cd E:\git\new project>git config --global user.name 'bigPoss'

new project>git config --global user.email '2714342578@qq.com'

///这两句顶上面git 乌龟操作 目的好像在于建本地仓库

git config -l

git init

这样就可以在当前目录下做github

将本地上的目录和github上关联

>git remote add origin https://github.com/fhuy/Vue-cms.git

///本地仓库上传到远程仓库github

//两者名字一致

git status

git add *

git commit -m 'first_commit'

git push -u origin master

提交到 远程分支matser

小弟搜索:

bigPoss/blockChina

fork=>小弟的github上就有了

修改后  点击commit changes

修改老大的   点击pull requests

点击 new pull requests

点击 create pull request

bigPoss这边有个pull requests1

没问题,merge pull request

confirm merge(合并)

 

2019.7.31  第一次修改

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值