Github 基础知识

1.名词解释
fork:意思是从别人的代码库中复制一份到你自己的代码库,与普通的复制不同,fork包含了原有库中的所有提交记录,fork后这个代码库是完全独立的,属于你自己,你可以在自己的库中做任何修改,当然也可以通过Pull Request向原来的库提交合并请求。
watch: 相当于收藏,关注后,代码库有新的commit, 你就会收到通知。
star: 相当于关注,方便下次查找作者的项目。

2.git 指令

3.远程数据库、本地数据库

  1. 分支: Merge分支 Topic分支
    Merge分支是为可以随时发布release而创建的分支,它还能作为Topic分支的源分支使用。
    Topic分支是为了开发新功能或修复Bug等任务而创建的分支,若要同时进行多个的任务,请创建多个Topic分支。

指令学习

 git init

在桌面创建一个文件(lianxi),在此路径下创建一个空的git本地仓库
Initialized empty Git repository in /Users/ML/Desktop/lianxi/.git/

lianxi下创建一个xxx.txt文件,然后提交

git add xxx.tex
git commit -m "first commit"

[master (root-commit) 5389ca9] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 xxx.txt

创建名为issue1的分支

git branch issue1

不指定参数直接执行branch命令的话,可以显示分支列表,前面有*的就是现在的分支
  issue1
* master

若要在新建的issue1分支进行提交,需要切换到issue1分支

切换到issue1分支
git checkout issue1

Switched to branch 'issue1'

在checkout命令中指定 -b选项执行,可以创建分支并进行切换

git checkout -b <brabch>

在切换到issue1分支的状态下提交,历史记录会被记录到issue1分支,在xxx.txt添加add命令说明后再提交(add 把变更录入到索引中)

git  add xxx.txt
git commit -m "添加add的说明"

[issue1 a1fa976] 添加add的说明
 1 file changed, 1 insertion(+)

向master分支合并issue1分支的修改, 执行marge命令以合并分支

git marge <commit>
该命令将指定分支导入到HEAD指定的分支,先切换master分支,然后把issue1分支导入到master分支
git checkout master

Switched to branch 'master'

git merge issue1

Updating 5389ca9..a1fa976
Fast-forward
 xxx.txt | 1 +
 1 file changed, 1 insertion(+)

既然issue1分支的内容已经顺利地合并到master分支了,现在可以将其删除了

git branch -d issue1

Deleted branch issue1 (was a1fa976).

接下来创建2个分支来尝试并行操作
首先创建issue2分支和issue3分支,并切换到issue2分支

git branch issue2
git branch issue3 
git checkout issue2

* issue2
  issue3
  master

在issue2分支的xxx.txt 添加commit命令的说明提交

git add xxx.txt
git commit -m"这是说明"

[issue2 af79123] 这是说明
 1 file changed, 1 insertion(+)

接着,切换到issue3分支

git checkout issue3
git add xxx.txt
git commit -m "说明"
 这样,添加commit的说明的操作,和添加pull的说明的操作就并行进行了。

解决合并的冲突
把issue2分支和issue3分支的修改合并到master
切换master分支后,与issue2分支合并

git checkout master
git merge issue2

Updating b2b23c4..8f7aa27
Fast-forward
 xxx.txt |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

接着合并issue3分支

git merge issue3

Auto-merging myfile.txt
CONFLICT (content): Merge conflict in myfile.txt
Automatic merge failed; fix conflicts and then commit the result.
1.png

自动合并失败,由于在同一行进行了修改,所以产生了冲突,这时xxx.txt内容如上
在发生冲突的地方,git生成了内容的差异,请做一下修改


1.png

然后重新提交

用rebase合并
合并issue3的时候,使用rebase可以使提交的历史记录显得更简介,现在暂时取消刚才的合并

git reset --hard HEAD~

切换到issue3分支后,对master执行rebase

git  checkout issue3
git rebase master

和merge时的操作相同,修改在xxx.txt发生冲突的部分。
rebase的时候,修改冲突后的提交不是使用commit命令,而是执行rebase命令指定 --continue选项。若要取消rebase,指定 --abort选项

git add xxx.txt
git rebase --continue

rebase的时候,修改冲突后的提交不是使用commit命令,而是执行rebase命令指定 --continue选项。若要取消rebase,指定 --abort选项

标签

添加标签
git tag <tagname>
查看标签列表
git tag
如果在log命令添加--decorate选项执行,可以显示包含标签资料的历史记录
git log --decorate

commit 163f3c574865c36b9216d5bf9bbfd190d60a067b (HEAD -> issue3, tag: apple, master)
Merge: a1fa976 af79123
Author: shenyuanjiang <1223551803@qq.com>
Date:   Fri Feb 2 10:13:05 2018 +0800

    解决冲突后的提交

commit af791230eccc82a26eac60f3bae94c1fff9e06f8 (issue2)
Author: shenyuanjiang <1223551803@qq.com>
Date:   Fri Feb 2 09:27:11 2018 +0800

    这是说明

commit a1fa976a50f3157283c647ed1612f0cae054d3ba
Author: shenyuanjiang <1223551803@qq.com>
Date:   Thu Feb 1 13:10:57 2018 +0800

    说明

commit 5389ca9f8aad16a11e6cfd53cc11e0a46a476edb
Author: shenyuanjiang <1223551803@qq.com>
Date:   Thu Feb 1 11:55:52 2018 +0800
添加注释标签
git tag  -a <tagname>
标签列表
git tag -n
删除标签
git tag -d <tagname>

改写提交
git revert  HEAD

另加: git log

提交版本记录

a42e94c238dcb1ede23c2f73668ab0bace5fd49b 指的是版本号SHA1计算出来的一个非常大的数字,用十六进制表示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,288评论 0 1
  • 河马先森阅读 95评论 0 0
  • 姓名:任思远 学号:17021210990 参考自:http://mp.weixin.qq.com/s/jnqUP...
    大兵_5238阅读 394评论 0 0
  • 冬天的一阵寒风, 就是一阵寒风。 冬天的一场大雪, 就是一场大雪。 冬天的每一个日子, 就是每一个日子……
    小剧在成长阅读 251评论 0 5
  • jwt 认证信息包括3部分 1、由3个base_64后的字符串组成。第一部分是声明加密方式和类型是base 64后...
    jinjiangtao阅读 129评论 0 0