文章目录
目的基本概念`仓库(Repository)``收藏(Star)``Fork(复制克隆项目)``PullRequest(发送请求)``Watch(关注)``Issue(事务卡片)`
基本使用1.创建项目仓库2.创建文件3.修改和删除文件4.查看提交、修改、删除记录5.上传文件6.issue7.主页8.关注和收藏9.Fork10.比较两个分支的变化11.Projects12.insights13.Wiki14.settings
git的使用git下载地址基本使用命令git的基本框架与github的联系git的基本操作创建仓库命令提交与修改提交日志远程操作分支操作
搭建个人博客(静态)命名仓库上传主页访问
添加项目介绍进入settings-Change theme选择主题并进入自定义修改页面修改项目主页的介绍在gh-pages分支下修改配置文件访问项目介绍页
目的
借助github托管项目代码
基本概念
仓库(Repository)
仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库
收藏(Star)
仓库主页的star按钮,指收藏的人数 ;收藏项目,方便下次查看
Fork(复制克隆项目)
复制别人的仓库到自己的仓库,独立存在
PullRequest(发送请求)
Fork别人的仓库,自己在自己仓库下进行项目修改,请求原来项目的主人也进行更改自己的仓库,如果原项目主觉得修改有意义,则将请求合并到原仓库
Watch(关注)
Watch某个项目后,此项目有更改后会第一时间通知你
Issue(事务卡片)
发现代码的BUG,但是目前没有成型的代码,需要讨论时用
基本使用
1.创建项目仓库
点击左上角的黑猫,然后点击new
填写信息并创建
2.创建文件
Add file - Create new file
填写文件名和内容;填写本次创建文件的描述
3.修改和删除文件
4.查看提交、修改、删除记录
可以看到所有的提交记录
查看某次修改的详细内容
5.上传文件
Add file-Upload files
点击choose your files/直接拖动选择多个上传文件,填写提交信息描述.
6.issue
这个是gsh(另一个)账户,进入之前第一个账户创建的仓库—点击issue—点击New issue
当在别人的项目下发现问题时,提交讨论问题(git2账户)
提交成功
在git1(仓库host)下可以看到git2账户提交的issue,点击可查看详情
可以选择回复(会公开显示在issue下),或者closed (将不会公开)
当项目主人认为其他人提交的issue不合适时,可以关闭这个issue的讨论
7.主页
8.关注和收藏
在git2账户下可以关注或者收藏git1的仓库,关注此项目时,当此项目有改动时系统会通知git2账户
9.Fork
在git2账户下,fork(克隆)git1账户下的仓库
在git2账户下成功fork了git1的项目,此仓库独立与git1的仓库
在git2账户下创建会修改文件
比较本次的项目的改变并提交pull request
添加本次pull requests的说明后create pull requests
在git1账户下可以查看到git1提交的pull requests
可查看本次pull requests的详细信息,确认后可以点击merge进行合并
确认merge
之后就可以在git1账户(host)的仓库下查看到
10.比较两个分支的变化
在仓库名字后加"/compare"即可比较两个分支的变化情况
11.Projects
可以制定任务计划表,清晰的显示项目的进展情况
点击New Project
填写描述等信息
添加列
填写列的基本信息
在每一列中添加对应的计划
每一列的计划任务可以互相拖动
12.insights
项目的一些统计信息,如: 项目的访问情况,项目的克隆情况,项目的关注情况等…
13.Wiki
可以放项目的一些资料,介绍等等…
14.settings
可以修改仓库名字,改变仓库的可见性,删除仓库等
也可改变项目的主题
git的使用
git下载地址
https://git-scm.com/downloads
基本使用命令
sweetheart@sweetheart-PC:~/git-test$
git --version
git version 2.17.0
sweetheart@sweetheart-PC:~/git-test$ vim index.html
sweetheart@sweetheart-PC:~/git-test$
ls
index.html
sweetheart@sweetheart-PC:~/git-test$
git status
fatal: 不是一个
git 仓库(或者直至挂载点 / 的任何父目录)
停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。
sweetheart@sweetheart-PC:~/git-test$
git init
已初始化空的 Git 仓库于 /home/sweetheart/git-test/.git/
sweetheart@sweetheart-PC:~/git-test$
git config --global user.name
"username"
sweetheart@sweetheart-PC:~/git-test$
git config --global user.email
"xxxxx@qq.com"
sweetheart@sweetheart-PC:~/git-test$
git status
位于分支 master
尚无提交
未跟踪的文件:
(使用
"git add <文件>..." 以包含要提交的内容)
index.html
提交为空,但是存在尚未跟踪的文件(使用
"git add" 建立跟踪)
sweetheart@sweetheart-PC:~/git-test$
git add index.html
sweetheart@sweetheart-PC:~/git-test$
git status
位于分支 master
尚无提交
要提交的变更:
(使用
"git rm --cached <文件>..." 以取消暂存)
新文件: index.html
sweetheart@sweetheart-PC:~/git-test$
git commit -m
"test remote"
[master(根提交) 019a626
] test remote
1
file changed, 1 insertion
(+
)
create mode 100644 index.html
sweetheart@sweetheart-PC:~/git-test$
git status
位于分支 master
无文件要提交,干净的工作区
sweetheart@sweetheart-PC:~/git-test$
git remote
sweetheart@sweetheart-PC:~/git-test$
git remote add origin
"https://github.com/xxxx/xxx.git"
sweetheart@sweetheart-PC:~/git-test$
git remote -v
origin https://github.com/xxxx/xxx.git
(fetch
)
origin https://github.com/xxxx/xxx.git
(push
)
sweetheart@sweetheart-PC:~/git-test$
git branch
* master
sweetheart@sweetheart-PC:~/git-test$
git push origin master
Username
for 'https://github.com': username
Password
for 'https://sweetheart-7-7@github.com':
To https://github.com/sweetheart-7-7/whb.git
! [rejected
] master -
> master
(fetch first
)
error: 无法推送一些引用到
'https://github.com/sweetheart-7-7/whb.git'
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如
'git pull ...')。
提示:详见
'git push --help' 中的
'Note about fast-forwards' 小节。
sweetheart@sweetheart-PC:~/git-test$
git push -u origin +master
Username
for 'https://github.com': username
Password
for 'https://sweetheart-7-7@github.com':
对象计数中: 3, 完成.
写入对象中: 100%
(3/3
), 231 bytes
| 231.00 KiB/s, 完成.
Total 3
(delta 0
), reused 0
(delta 0
)
To https://github.com/sweetheart-7-7/whb.git
+ 69e8a94
...019a626 master -
> master
(forced update
)
分支
'master' 设置为跟踪来自
'origin' 的远程分支
'master'
sweetheart@sweetheart-PC:~/git-test$
git clone
"https://github.com/gsh101/test-git.git"
正克隆到
'test-git'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100%
(3/3
), done.
remote: Total 3
(delta 0
), reused 0
(delta 0
), pack-reused 0
展开对象中: 100%
(3/3
), 完成.
sweetheart@sweetheart-PC:~/git-test$
ls
index.html test-git
查看设置:
git config --list
remote: Permission to xx/test-git.git denied to xxx. fatal: u
清空用户目录下配置的全局用户名和密码就可以了。~/.gitconfig
重新push, 就会提示输入用户名和密码了。
git的基本框架与github的联系
注: 此图片转载自菜鸟教程。
workspace:工作区 staging area:暂存区/缓存区 local repository:或本地仓库 remote repository:远程仓库
git的基本操作
创建仓库命令
下表列出了 git 创建仓库的命令:
命令说明
git init初始化仓库git clone拷贝一份远程仓库,也就是下载一个项目。
提交与修改
Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。
下表列出了有关创建与提交你的项目的快照的命令:
命令说明
git add添加文件到仓库git status查看仓库当前的状态,显示有变更的文件。git diff比较文件的不同,即暂存区和工作区的差异。git commit提交暂存区到本地仓库。git reset回退版本。git rm删除工作区文件。git mv移动或重命名工作区文件。
提交日志
命令说明
git log查看历史提交记录git blame 以列表形式查看指定文件的历史修改记录
远程操作
命令说明
git remote远程仓库操作git fetch从远程获取代码库git pull下载远程代码并合并git push上传远程代码并合并
分支操作
命令说明
git branch 分支名创建分支git ckeckout -b 分支名创建+切换分支git branch -d 分支名删除分支git branch查看分支gti checkout 分支名切换分支git merge 分支名合并某分支到当前分支
搭建个人博客(静态)
命名仓库
格式: 用户名.github.io
上传主页
Add file-upload file-上传主页,必须有index.html
访问
上传完毕后访问: 用户名.github.io 即可
添加项目介绍
进入settings-Change theme
选择主题并进入自定义修改页面
修改项目主页的介绍
在gh-pages分支下修改配置文件
访问项目介绍页
访问: 用户名.github.io/仓库名 即可查看