走进Git
我们都知道Github,也知道它是全世界最大的同性交友网站,我们或多或少会在里面搜集一些开源资料,非常适合学习和交流。
除去Github以外,国内使用较多的有Gitee,Gitlab等等。
那么什么是Git呢?Git是一种分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Git由Linux之父李纳斯·托沃兹(Linus Benedic Torvalds)开发出来的,所以他又被称为Git之父。关于Git的开发还有一段有趣的插曲,感兴趣的可以关注一下。
Git下载
两种方式:
- git官网:git-scm.com (下载比较慢)
- 淘宝镜像:npm.taobao.org/mirrors/git…
下载完成后直接安装即可。
安装完成后,会多出三个应用。

推荐使用Git Bash,和Linux环境相似。CMD是和windows风格相似的命令窗口。GUI是图形化界面。
Git配置
设置用户名和邮箱
这一步是必要的,设置完成后,以后使用的每一次提交都包含了这些信息。(关于引号,在输入中,引号可带可不带,一般由于个人习惯会带上)
git config --global user.name "xxx" #用户名
git config --global user.email "xxx@xx.com" #邮箱
其中--global表示全局配置,如果不加,则代表为特定项目配置的信息。
可以通过以下命令查看刚才的设置:
#查看当前用户global配置
git config --global --list
常用Git命令
日常使用中,只需要记住4个命令就可以了(重度使用)
git clone:复制远程仓库内容到本地工作区git add:将本地改动加入到暂存区git commit:将暂存区内容提交到本地仓库git push:如果使用远程仓库的话,使用该命令可以将改动提交到远程仓库
(后面三个命令是一个层层提交的过程。四个命令的使用可以参考下文的实战内容)
其它常用命令有:
git init,初始化一个新仓库。它与git clone构成了创造仓库的两种方式git mv [file-original] [file-renamed]:修改文件名称,并放入暂存区git branch:列出本地所有分支(master为主分支)git branch -r:列出所有远程分支git branch -a:列出所有本地分支和远程分支git branch [branch-name]:新建一个分支,但依然停留在当前分支git checkout -b [branch]:新建一个分支,并切换到该分支
更多资料
可以登录gitee网站,下拉至底部,就可以看到Git相关的一些资料

这里有git的教程:

也介绍了一些常用命令:

Git实战
Gitee使用
github在国内有墙的限制,时而好用,时而加载不出,另外就是界面是全英文的。建议新手使用gitee学习git命令,建立仓库等,再想了解github的话会更方便,因为二者的操作是非常相似的。
直接搜索可以找到gitee的官方网站(又名:码云,此mayun非彼mayun)

点击进入后,可以登录/注册自己的账号。
鼠标移动到“+”号可以弹出一些功能,其中就有新建仓库。

点击新建仓库,就可以建立一个新仓库,在仓库名称内填入自己仓库的名称,可中文可英文,若仓库名称为英文,系统会自动补齐下方的路径窗口,若填写中文名称,路径需要用户自己填入一个英文名称。填写完整后,下方会自动生成仓库地址。

关于仓库介绍,可填可不填,填了之后内容会自动出现在Readme文件内。

是否开源,可以根据自己的要求决定,gitee提供给了免费的私有仓库,但对于协作人数有一定的限制。

若选择公开仓库,下方会多出一个添加许可开源证,这个主要是提供给他人使用你的项目的权限,比如“可商用”或者“只可用于学习,不可商用”等等。关于添加许可开源证,大家可以自行搜索相关资料。

语言可以选择自己的开发语言,如“java”、“python”等等。.gitignore是忽略push到远程仓库的凭借依据,选择相应模板可以提供很多方便。
其它内容,一般选中创建Readme文件,用于介绍自己的仓库。

分支模型,对于个人来说,一般只创建一个master分支即可,这是主分支,如有需求,可以创建其他分支。
点击创建,就可以创建新仓库了。创建完成后,系统会提供以下几个文件。

点击右侧的克隆/下载,可以看到如下界面:

我们可以点击复制来复制仓库路径,也可以直接下载文件。但学过git命令后,应该选用git命令。
点击复制后,打开本地的一个文件夹,右键点击鼠标,选择Git Bash Here就可以打开命令窗口。

使用git clone命令就可以将仓库导到本地。

现在可以进入文件夹做一些操作,比如我删除了Readme文件(英文版),修改了Readme文件(中文版),添加了一个文件,命名为“test.txt”
现在我们把改动更新到远程仓库。
- 使用
cd gitstudy命令进入gitstudy文件夹 - 使用
git add .命令把所有改动提交到暂存区(.表示所有,也可以特指,如git add xxx.xx) - 使用
git commit -m "更新"命令提交到本地仓库,-m表示添加标签 - 使用
git push命令提交到远程仓库
这是如果你绑定了SSH公钥,那么可以直接提交,否则还需要填写自己的用户名和密码才能提交。

刷新自己的仓库网页后,会发现改动已经提交到了远程仓库内。右侧的标签是我更提交的标签。

如果需要修改一些仓库资料,可以点击管理

另外,值得注意的是,如果我们在远程仓库修改了内容,如我删除了test.txt文件,而在本地没有做出修改。那么在下一次push时会报出一个错误:
error: failed to push some refs to 'https://gitee.com/Sjcun/gitstudy.git'
解决办法时先使用git pull命令将远程仓库改动同步到本地,然后使用git push提交本地的新改动即可。
Github使用
Github的使用操作和Gitee是相同的,只不过面对的界面换成了英文而已。
右侧“+”号,点击New repository创建新仓库。

填写仓库名,选择是否开源

不同的是这里的Repository name必须填写英文名称。如果强行填写中文,当然也可以建成新仓库,但是系统将仓库名使用了-表示,导致辨识度不强。

此时只能去Settings换一个名字了。
