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计算出来的一个非常大的数字,用十六进制表示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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