下文中假设 Github 用户名为 username, Github 绑定邮箱为 email,使用的是 Git Bash。
Git 安装(Linux)
$ sudo apt-get install git
[sudo] NOI Linux 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
git 已经是最新版 (1:2.25.1-1ubuntu3.1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
如果是 Windows,直接从官网下载安装即可。
查看 Git 是否成功安装:
$ git
用法:git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
这些是各种场合常见的 Git 命令:
开始一个工作区(参见:git help tutorial)
clone 克隆仓库到一个新目录
init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
在当前变更上工作(参见:git help everyday)
add 添加文件内容至索引
mv 移动或重命名一个文件、目录或符号链接
restore 恢复工作区文件
rm 从工作区和索引中删除文件
sparse-checkout 初始化及修改稀疏检出
检查历史和状态(参见:git help revisions)
bisect 通过二分查找定位引入 bug 的提交
diff 显示提交之间、提交和工作区之间等的差异
grep 输出和模式匹配的行
log 显示提交日志
show 显示各种类型的对象
status 显示工作区状态
扩展、标记和调校您的历史记录
branch 列出、创建或删除分支
commit 记录变更到仓库
merge 合并两个或更多开发历史
rebase 在另一个分支上重新应用提交
reset 重置当前 HEAD 到指定状态
switch 切换分支
tag 创建、列出、删除或校验一个 GPG 签名的标签对象
协同(参见:git help workflows)
fetch 从另外一个仓库下载对象和引用
pull 获取并整合另外的仓库或一个本地分支
push 更新远程引用和相关的对象
命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些概念帮助。
查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的
帮助。
有关系统的概述,查看 'git help git'。
初始化
初始化 Git
配置 Git:
$ git config --global user.name "username"
$ git config --global user.email "email"
绑定 GitHub
$ ssh-keygen -t rsa -C "email"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/noilinux/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/noilinux/.ssh/id_rsa
Your public key has been saved in /home/noilinux/.ssh/id_rsa.pub
The key fingerprint is:
...
The key's randomart image is:
...
然后复制根目录下 .ssh/id_rsa.pub,在 https://github.com/settings/keys 页面,点击 New SSH Key,Title 任意,Key 输入复制内容,确定即可。
检验是否绑定成功:
$ ssh -T git@github.com
...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
本地库初始化
在指定文件夹打开终端,输入如下指令:
$ git init
已初始化空的 Git 仓库于 /home/NOI Linux/桌面/github/repertory/.git/
github 建站
想要使用 Git 编辑仓库,首先要有一个仓库。
在新建仓库页面上输入仓库名,是否公开,下面的填不填都无所谓。
效果如图:

等待几秒钟,在 Create repository 变绿时点击。
过几秒钟后如果跳转到这个页面,就说明创建成功了。
记录仓库名,退出即可。
下文中假设仓库名为 repository。
GitHub 项目关联初始化
注意,只有当 G i t 绑定的用户拥有这个仓库的 编辑权 后, G i t 才能绑定这个仓库。 注意,只有当\ Git\ 绑定的用户拥有这个仓库的\color{red}{编辑权}\color{f}后,Git\ 才能绑定这个仓库。 注意,只有当 Git 绑定的用户拥有这个仓库的编辑权后,Git 才能绑定这个仓库。
删除所有关联:
$ git remote rm origin
添加关联:
$ git remote add origin git@github.com:owner/repository.git
查看当前所有关联:
$ git remote -v
origin git@github.com:owner/repository.git (fetch)
origin git@github.com:owner/repository.git (push)
上传更新
本地开发后,输入如下指令查看当前项目状态:
$ git status
位于分支 master
您的分支与上游分支 'origin/master' 一致。
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git restore <文件>..." 丢弃工作区的改动)
修改: index.html
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
输入如下指令提交暂存:
$ git add --all
此时再次查看项目状态,应为:
$ git status
位于分支 master
您的分支与上游分支 'origin/master' 一致。
要提交的变更:
(使用 "git restore --staged <文件>..." 以取消暂存)
修改: index.html
提交更新指令(引号内为更新内容说明):
$ git commit -m "Update"
[master 4a98023] Update
... files changed, ... insertions(+), ... deletions(-)
create mode 100644 index.html
...
接着进行最终上传,例如:
$ git push origin master
枚举对象中: 21, 完成.
对象计数中: 100% (21/21), 完成.
压缩对象中: 100% (11/11), 完成.
写入对象中: 100% (11/11), 1.82 KiB | 116.00 KiB/s, 完成.
总共 11 (差异 10),复用 0 (差异 0)
remote: Resolving deltas: 100% (10/10), completed with 9 local objects.
To github.com:owner/repository.git
7aff64d..4a98023 master -> master
注:若是第一次,需使用指令: \color{red}注:若是第一次,需使用指令: 注:若是第一次,需使用指令:
$ git push -u origin master
这样再访问仓库管理界面时,就发现多了一个分支 master 。
下载更新
$ git pull -s subtree origin master
remote: Enumerating objects: 444, done.
remote: Counting objects: 100% (37/37), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 444 (delta 17), reused 29 (delta 14), pack-reused 407
接收对象中: 100% (444/444), 107.76 MiB | 1.13 MiB/s, 完成.
处理 delta 中: 100% (31/31), 完成.
来自 github.com:owner/repository
* branch master -> FETCH_HEAD
* [新分支] master -> origin/master
附:克隆指令
不知道怎么写仓库怎么办?试试先参考一下别人的仓库吧!
克隆指令非常简单,只需要有被克隆仓库的查看权就可以。
一般是这样子:
$ git clone https://github.com/owner/repository.git
Cloning into 'repository'...
remote: Enumerating objects: ..., done.
remote: Counting objects: ..., done.
remote: Compressing objects: ..., done.
remote: Total ... (delta ...), reused ... (delta ...), pack-reused ...
Receiving objects: ..., ... MiB | ... MiB/s, done.
Resolving deltas: ..., done.
Updating files: ..., done.
2007

被折叠的 条评论
为什么被折叠?



