git和github简述

Git的中起源和主人的介绍以及建立Github的仓库链接简单介绍

首先要明确一点,对GIT中的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样)

1.从git取数据(git clone)

2.改动代码

3.将改动传回git(git push)

这3个步骤又涉及到两个存储库,一个是远程存储库,再远程服务器上,一个是本地存储库,再自己工作区上。其中1,3个个步骤涉及到远程服务器/远程存储库/远程分支,

2涉及到本地存储库/本地分支。克隆会根据你指定的远程服务器/存储库/分支,拷贝一个副本到你本地,再git推之前,你对所有文件的改动都是在你自己本地的本地存储库来做的,你的改动(本地分支)和远程分支是独立(并行)的.Git显示的就是本地存储库。

在克隆完成之后,Git会自动为你将此远程仓库命名为origin(origin only相当于一个别名,运行git remote -v或者查看.git / config可以看到origin的含义),并下载其中所有的数据,建立一个指向它的主分支的指针,我们用(远程仓库名)/(分支名)这样的形式表示远程分支,所以origin / master指向的是一个远程分支(从那个分支我们克隆数据到本地) ,但你无法在本地更改其数据。

同时,Git会建立一个属于你自己的本地master分支,它指向的是你刚刚从远程服务器传到你本地的副本。随着你不断的改动文件,git add,git commit,master的指向会自动移动,你也可以通过merge(fast forward)来移动master的指向。

$ git branch -a(显示git知道的所有分支)

$ git branch -r(显示远程分支git知道)

Github的仓库建立连接步骤

1.现在github上新建一个仓库,只需要新的存储库,先按默认的来,什么自述文件,忽略等文件可以先不建立,直接先按默认的写好名字即可

2.打开终端,CD到指定目录

git init

3.添加文件到本地仓库

git add。

这里的可以一个个添加,也可以添加后面加个。直接全部添加到本地仓库

4.提交(后面写好备注)

git commit -m“第一次提交”

5.打开GitHub的仓库页面,在克隆和下载里面找到,我这里点击的是SSH,复制出来

git remote add origin {远程仓库地址}

6.push到远程仓库

git push -u origin master

OK,这样子最简单的初始创建就结束了,不展开,只是做个例子用。

Q1:github提示权限被拒绝(publickey)

点击打开链接

极大多数情况是由于github账号没有设置ssh公司信息所致。前往GitHub网站的“帐户设置”

依次点击“设置 - > SSH密钥” - >“新SSH密钥”

标题处填写“id_rsa.pub”或其他任意信息.key处原样拷贝贝下面命令的打印`〜/ .ssh / id_rsa.pub`文件的内容:

```

cat~ / .ssh / id_rsa.pub

```

这句生成的一整坨命令直接复制到github上里面的SSH设置里面

如没有则按下述方法生成:

ssh-keygen -t rsa

一路回车......

最后,输入“ssh -T git@github.com”确认OK即可。

再尝试输出就应该有了

```

cat~ / .ssh / id_rsa.pub

```

Q2:里面的Origin和Master到底是什么意思

mintoudeMacBook-Pro:NewWeexDemo mintou $ git branch -a

*主人

遥控器/来源/主

mintoudeMacBook-Pro:NewWeexDemo mintou $ git branch -r

产地/主

mintoudeMacBook-Pro:NewWeexDemo mintou $

根据上面创建的git的目录,我们在这里进行查看

可以发现,master就是本地分支,origin / master是远程分支

master是本地存储库中的一个分支。remotes / origin / master是一个名为master的分支,名为origin

$ git diff origin / master master(显示远程主分支和我的主分支之间的更改)。

$ git diff origin / master remotes / origin / master

-a查看所有本地和远程仓库,其中遥控器标识的只是代表远程仓库,遥控器/来源/主和原点/主的指向是相同的

-r仅仅查看远程仓库,因此就不会有遥控器前缀

git push origin master

原产地指定了你要推向哪个远程仓库。

master其实是一个“refspec”,正常的“refspec”的形式为“+:”,冒号前表示local branch的名字,冒号后表示remote repository下branch的名字。注意,如果你省略了,git就认为你想推到远程仓库下和本地分支相同名字的分支。听起来有点拗口,再解释下,推是怎么个推法,就是把本地分支指向的提交到远程仓库下的分支

比如上面推的全称就是

git push origin master:master

在本地存储库中找到名字为master的分支,使用它去更新远程存储库下名字为master的分支,如果远程存储库下不存在名字是master的分支,那么新建一个

因为本地仓库名字和远程仓库名字相同,就可以直接省略的远程名字

git push origin master:refs / for / mybranch

在本地存储库中找到名字为master的分支,用他去更新远程存储库下面名字为mybranch的分支

git push origin HEAD:refs / for / mybranch

HEAD指向当前工作的分支,主不一定指向当前工作的分支,其实如果你无论在哪个分支,直接把当前分支推上去

git push origin:mybranch

再生源库里面查找mybranch,删除它。用一个空的去更新它,就相当于删除了

补充一些指令:

找 。-name“.git”| xargs rm -Rf移除所有.git,可以重新关联

git status查看当前工作目录修改状态

在git commit之前,所有的内容都会先进入暂缓区

git diff#是工作区(work dict)和暂存区(stage)的比较

git diff --cached#是暂存区(stage)和分支(master)的比较

git add文件名添加到工作区git add。所有的都添加到工作区

git commit -m提交

git log查看提交log --pretty = oneline一行显示SHA1来标记

git reset回到之前的提交版本git reset --hard HEAD ^ HEAD ~~上上个HEAD~100

commit 1 commit 2 commit 3

可以任意重置穿梭记得id就好

如果忘记了可以用git reflog查看所有的提交记录

cat标准输入并打印文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值