准备
在开始前你需要下载一个git,Windows用户直接下载安装程序按默认选项安装即可,其它系统用户参考安装git
A.配置你的本地仓库
忽略你不想同步的文件.gitignore
在你想要同步的文件夹内新建一个名为.gitignore的文件,将这个文件夹内你不想同步的文件名称添加进这个文件。
·创建.gitignore文件(git bash下输入touch .gitignore)

·使用文本编辑器打开此文件并按语法规则编辑文本内容(每行一条)参考git忽略提交规则
例:
*.log
.temp
/vendor
备注:
/target 过滤文件设置,表示过滤这个文件夹
.mdb ,.ldb ,.sln 表示过滤某种类型的文件
/mtk/do.c ,/mtk/if.h 表示指定过滤某个文件夹下具体文件
初始化仓库
想要在那个文件夹新建仓库就在那个文件夹内单击鼠标右键,以笔者的电脑为例,笔者最近要学JavaScript,所以要在codes文件夹内单击鼠标右键
你会发现新增了一个Git Bash Here选项,点击此选项打开git命令行窗口(git bash)

新建本地仓库
在命令行中输入 mkdir +仓库名称
比如我想新建一个JavaScript的本地仓库则输入 mkdir JS

然后会发现codes文件夹内新增了一个JS文件夹

其实这一步就是新建了一个文件夹,如果你已经有想要同步的文件夹了,可以忽略该步骤
初始化仓库
直接输入cd JS将位置索引到新建文件夹内,此时bash的位置已被索引到新建的JS文件夹内

输入git init初始化仓库

此时我们会发现JS文件夹内新增.git文件,说明仓库初始化成功(如果没有找到可在“查看”栏中“勾选隐藏的项目”)


在GitHub上创建你的仓库
打开GitHub,创建一个账户,点击右上角的'+'新建一个仓库


1.仓库名称
2.关于仓库的一些简单描述
3.设置仓库为公开还是私有
4.勾选后在创建的仓库中添加一个markdown格式的文件
接下来有两个下拉列表选项,第一个即为本文开始时的gitignore功能,你可以在下拉列表中选择提交代码时忽略的文件类型,第二个可以添加项目的许可证
设置好以后点击绿色按钮,创建仓库
创建完成以后在仓库页面内点击绿色按钮

记住小窗口内的https地址,在本地的JS文件夹内打开bash输入命令
git remote add origin+刚才的链接

第一次可能需要输入账户和密码

将你的GitHub账户和密码输入登录即可。
此时,你本地的文件夹已经连接到了GitHub上的仓库
输入git pull origin master将md文件同步到本地
检查状态(git status)

1:所处分支
2:未被跟踪的文件
3:提示
将文件加入到仓库中(git add .)
再次检查状态

执行提交(git commit -m "在这里写提交说明")

再次检查状态

发现工作区很干净,如果不是这样可能是你在提交前忘了添加文件(git add .)
查看提交历史(git log)

还有一种更简洁的查看提交历史的方法(git log --pretty=oneline)

体验git版本控制的魅力
我们在刚刚提交的#2.py内加入一行新的代码:
print("test")

此时我们查看项目状态,发现#2.py已被更改

再次提交时,我们使用新命令(git commit -am "在这里输入提交说明"),-a仅仅将修改的文件加入到当前提交中,-m记录提交信息,如果你在两次提交之间创建了新文件,可再次执行命令(git add .)
此时查看状态,提交正常

查看提交历史,发现有两次提交

撤销修改(git checkout .)
此命令将使你的项目恢复到最后一次提交,我们在#2.py中加入一行代码
print("balalaxiaomoxian")

执行撤销命令
我们发现#2.py又回到了最后一次提交时的状态

检出以前的提交,(git checkout “提交id的前6位”)可以使你的项目回退到任何一个版本

检出以前的提交后,你将离开分支master,并进入git所说的分离头指针(detached HEAD)状态(见1)
HEAD表示项目的当前状态,之所以说我们处于分离状态,是因为我们离开了一个命名分支(这里是master)。
要想回到分支master,可检出它:

回退到以前的提交
在master分支下执行重置命令(git reset --hard "提交id前6位")

我们现在将项目回退到了第一次提交时的版本

删除仓库
删除文件夹中的.git或在bash中输入命令rm-rf.git(windows中,使用命令rmdir/s.git)
B.将你的仓库连接到GitHub
C.同步你的仓库
当你的本地仓库连接到GitHub后,就可以将你的代码同步在云端,这样无论你使用哪台电脑,只要在电脑上登录你的GitHub账号就可以把你的代码克隆(clone)下来了(妈妈再也不用担心我误删代码了)。

如图,我想要同步C文件夹内的内容,首先鼠标右击打开git bash,输入git status检查仓库的状态


图片中的红字就是上一次同步到现在的时间段内,你的本地仓库的变化,接下来我们输入git add .(注意add和.之间有空格),将所有变化加入到仓库中

再次输入git status查看状态可以发现出现绿色文字说明这些变化已经加入到了仓库之中

在同步之前我们要提交一个更新信息来简短的说明你的更新内容,输入*git commit -m "更新信息" *,更新后在GitHub的更新上会显示你的更新信息

接下来我们在bash中输入git push origin master后稍等片刻,就可以将本地仓库同步到GitHub仓库中的master分支了

登录GitHub查看仓库,如图所示

可以看到我们的更新信息和更新时间说明更新成功
尾巴(2019.1.11)
这是笔者在学习Git与GitHub的时候,写的一篇教程,里面包括一些优秀的教程和自己的经验,未来会不定期更新,如果读者有意见或问题可在评论区反馈
更新日志
V0.1.1(2019.02.23)
修改个别错字
V0.2.0(2019.03.15)
新增准备部分,初始化仓库部分加入图文说明,参考资料部分新增git教程,题目更改为使用git+Github远程同步你的代码
V0.3.0(2019.03.28)
新增“同步你的仓库”部分
V0.4.0 (2019.04.15)
新增“在GitHub上创建你的仓库”部分
V0.4.1 (2019.04.16)
添加若干图片和文字
参考资料
网友评论