初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码
- References
在已有仓库中添加代码并公开。
- git clone 已有仓库
将已有仓库 clone 到本地的开发环境中。
strong@foreverstrong:~$ mkdir github_work
strong@foreverstrong:~$ cd github_work/
strong@foreverstrong:~/github_work$ ll
total 8
drwxrwxr-x 2 strong strong 4096 Dec 17 14:03 ./
drwxr-xr-x 44 strong strong 4096 Dec 17 14:03 ../
strong@foreverstrong:~/github_work$ git clone https://github.com/ForeverStrongCheng/Hello-World.git
Cloning into 'Hello-World'...
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
Unpacking objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Checking connectivity... done.
strong@foreverstrong:~/github_work$ ll
total 12
drwxrwxr-x 3 strong strong 4096 Dec 17 14:04 ./
drwxr-xr-x 44 strong strong 4096 Dec 17 14:03 ../
drwxrwxr-x 3 strong strong 4096 Dec 17 14:04 Hello-World/
strong@foreverstrong:~/github_work$ cd Hello-World/
strong@foreverstrong:~/github_work/Hello-World$ ll
total 20
drwxrwxr-x 3 strong strong 4096 Dec 17 14:04 ./
drwxrwxr-x 3 strong strong 4096 Dec 17 14:04 ../
drwxrwxr-x 8 strong strong 4096 Dec 17 14:04 .git/
-rw-rw-r-- 1 strong strong 272 Dec 17 14:04 .gitignore
-rw-rw-r-- 1 strong strong 13 Dec 17 14:04 README.md
strong@foreverstrong:~/github_work/Hello-World$
strong@foreverstrong:~/github_work/Hello-World$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
strong@foreverstrong:~/github_work/Hello-World$
将想要公开的代码提交至这个仓库再 push 到 GitHub 的仓库中,代码便会被公开。
- 编写代码
由于 Hello_World.py 还没有添加至 Git 仓库,所以显示为 untracked files。
strong@foreverstrong:~/github_work/Hello-World$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:(use "git add <file>..." to include in what will be committed)Hello_World.pyimage_data/nothing added to commit but untracked files present (use "git add" to track)
strong@foreverstrong:~/github_work/Hello-World$
- 提交
将 Hello_World.py 提交至仓库。这样一来,这个文件就进入了版本管理系统的管理之下。今后的更改管理都交由 Git 进行。
strong@foreverstrong:~/github_work/Hello-World$ git add .
strong@foreverstrong:~/github_work/Hello-World$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:(use "git reset HEAD <file>..." to unstage)new file: Hello_World.pynew file: image_data/lena.jpgstrong@foreverstrong:~/github_work/Hello-World$
strong@foreverstrong:~/github_work/Hello-World$ git commit -m "Add Hello World script by Python"
[master a984390] Add Hello World script by Python2 files changed, 21 insertions(+)create mode 100644 Hello_World.pycreate mode 100644 image_data/lena.jpg
strong@foreverstrong:~/github_work/Hello-World$
通过 git add 命令将文件加入暂存区,再通过 git commit 命令提交。
添加成功后,可以通过 git log 命令查看提交日志,输入 q 退出 git log 状态。
strong@foreverstrong:~/github_work/Hello-World$ git log
commit a984390cb3c6b756842675b0cd13f00a6c428e6b
Author: chengyq116 <chengyq116@163.com>
Date: Sun Dec 17 15:23:42 2017 +0800Add Hello World script by Pythoncommit 8054468596d91cfedab242b08b3fa111d8d68aac
Author: Yongqiang Cheng <chengyq116@163.com>
Date: Sun Dec 17 13:17:11 2017 +0800Initial commit
strong@foreverstrong:~/github_work/Hello-World$
strong@foreverstrong:~/github_work/Hello-World$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.(use "git push" to publish your local commits)
nothing to commit, working directory clean
strong@foreverstrong:~/github_work/Hello-World$
- 进行 push
执行 push, GitHub 上的仓库就会被更新,代码就在 GitHub 上公开了。
strong@foreverstrong:~/github_work/Hello-World$ git push
warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:git config --global push.default matchingTo squelch this message and adopt the new behavior now, use:git config --global push.default simpleWhen push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.Since Git 2.0, Git defaults to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)Username for 'https://github.com': chengyq116@163.com
Password for 'https://chengyq116@163.com@github.com':
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 90.25 KiB | 0 bytes/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To https://github.com/ForeverStrongCheng/Hello-World.git8054468..a984390 master -> master
strong@foreverstrong:~/github_work/Hello-World$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
strong@foreverstrong:~/github_work/Hello-World$
References
[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/
[2] (日) 大塚弘记 著, 支鹏浩, 刘斌 译. GitHub入门与实践[M]. 北京:人民邮电出版社, 2015. 1-255
[3] 初次在 GitHub 建立仓库以及公开代码的流程 - 建立仓库, https://yongqiang.blog.csdn.net/article/details/137360191