Git是什么?
通俗地讲,Git是用来进行项目版本控制的。比如,你脑热,创建了一个“Hello world”的项目,完成了第一个版本1.0.0的工作。过了不久,激情重燃,你想对这个项目进行进一步开发,该怎么进行进一步开发呢?比较明智的选择是复制这个项目的文件夹,在此基础上进行开发。或者你会想到直接在原代码上进行开发。这些做法都或多或少有些弊端,项目版本管理起来很难,要是直接覆盖原代码,就基本没有版本控制什么事了。
伟大的Linux之父Linus Trovlds就因为上面例子说的这样,对项目管理很烦,于是就有了Git,内置在Linux里。
Git具有良好的用户体验和工作效率,可以说它是程序员的必备了。
GitHub又是什么?
GitHub,全球最大同性交友互动平台,主导社会型编程,为开发者提供Git仓库的托管服务。你可以把你的项目代码上传到Github,随时随地都可以对项目进行编辑。
Git基本操作
下载Git
到官网下载,有Win、Linux和Macos三个版本,官网地址:https://git-scm.com/downloads
以下使用的是Win版的Git Bash
操作一个本地仓库
1.新建一个文件夹
新建一个文件夹hello world
用来存放项目代码。
2.先初始化(Initialize)仓库
在该文件夹里右键菜单里点击'Git Bash here',启动Git Bash,并索引到该文件夹下操作。
要初始化仓库,也就是创建一个Git本地代码仓库(repository),只需输入git init
。
$ git init
Initialized empty Git repository in C:/Users/ws/Desktop/hello world/.git/
3.查看仓库状态(status)
输入git status
,看看仓库的状态,确认仓库创建成功。
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
4.往仓库里放些代码文件吧
先写一些代码,保存到
Hello world
文件夹里。这时候Git仓库里还没有这些代码,要把代码放到仓库进行版本管理,需要两步操作。
1.添加(add)代码
- 第一步就是
git add xxx
,向暂存区添加文件,xxx为文件名,也快捷地添加文件夹里的所有文件git add .
$ git add hello.py
- 这时候再看一下仓库状态,
git status
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hello.py
2.提交(commit)代码
- 上面查看仓库状态说
Changes to be committed
,有修改需要提交,我们来提交,保存这个版本。
$ git commit -m '提交一个文件:hello.py'
[master (root-commit) 8769b36] 提交一个文件:hello.py
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 hello.py
- 添加代码到仓库完成!这样我们就可以通过commit来回看历史版本了,也是Git最重要的功能之一。
$ git status
On branch master
nothing to commit, working tree clean
5.查看日志(log)
看看我们刚才commit的日志吧。
$ git log
commit 8769b36200a987c39473dca35a5075b3f3c437f1 (HEAD -> master)
Author: sheng wang <wsheng.980210@gmail.com>
Date: Sat Jan 19 11:04:38 2019 +0800
提交一个文件:hello.py
操作一个远程仓库
把代码添加到了本地仓库,不妨上传到GitHub.com,方便自己管理,同时也让大家看看吧。
1. 注册GitHub账号-->https://github.com/
2. 登录GitHub.com-->https://github.com/login
3. 在GitHub上创建一个 空的 仓库,输入Repository name即可。
- 这里用到
git remote add <name> <url>
,输入远程仓库的name(自定义)和GitHub上的仓库地址。
$ git remote add hello https://github.com/wsheng0python/hello.git
4. 将本地仓库代码Push到GitHub上的仓库中
git push <刚才远程仓库的name> master
,把master[^1]这个主分支的仓库代码上传到GitHub我账户下的Hello仓库里。
[^1]:关于分支相关的内容,自己google了解一下,或者看我下回分解,也是Git重要的功能。
$ git push hello master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 243 bytes | 243.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/wsheng0python/hello.git
* [new branch] master -> master
* 假如你在新电脑上,可以拉取远程仓库的代码到本地
也是先添加远程仓库的链接,再Pull,和Push是对应的。
$ git pull hello master
From https://github.com/wsheng0python/hello
* branch master -> FETCH_HEAD
Already up to date.
公众号更多小白知识不定期分享 >