/***********************
个人知识水平有限
有任何错误请尽情指出!!谢谢啦
我的Github
求粉 ミ ゚Д゚彡
***********************/
参考教程:廖雪峰的官方网站
==================================
中英对照:
仓库 repositoriy
git 一种分布式版本控制系统blahblahblah~~
bash 一种shell
shell 一种接受用户指令的东东(如控制台)
==================================
以前用的是Visual Studio上一个Git插件,点几个按钮就能push pull sync非常简单粗暴无脑,可能无法学习到这种管理方式的精华。所以我抛弃了简单易用的插件,想从基础开始。。。
开始
首先需要安装Git For Windows
安装完后对着文件夹空白地方右键,可以看到多出来一些选项(如下图)
Git Init Here(在此创建git):新建git项目用,一般在你的程序的项目主目录使用该命令。
Git Gui(打开一个图形界面的玩意):我不会用ㄟ( ▔, ▔ )ㄏ
Git Bash(打开一个类似控制台的东东):以后主要用这个!!
那么假设以前我用Visual Studio新建了一个项目,写了一点代码,现在我想把它同步至Github,怎么用这个Git Bash操作?
首先,我们需要一个Github的账户,比如我的(又来=A=):
然后打开Git Bash(以下简称Bash)
第一次使用Bash需填写一下“个人信息“,告诉服务器你是谁,在Bash中依次输入以下代码
(开头的 $ 是本来就有的,无需输入)
将引号的内容替换成你的信息!
$ git config --global user.name "Your Name" $ git config --global user.email "yourEmail@mail.com"
回车后如果bash什么反应都没有,只是空了一行,那就说明我们的输入正确,万事大吉。
要从本地操控服务器上的文件,我们还要通过服务器的验证,这里使用一种叫SSH的东东。。。我也不知道具体是个什么玩意。
首先我们要创建一对SSH密钥(SSH key)
$ ssh-keygen -t rsa -C "yourEmail@email.com"
别问我具体每个指令什么意思。。。我也不知道哇。。。
一路回车,什么都别管
完事之后打开C盘,找到C:\Users\”你的用户名“\.ssh
看看里面有没有这两个文件
有就说明创建成功了,以后后缀为.pub的那个就是你给别人看的publickey,上面一个千万别给了任何人,虽说别人没事破解你的可能性也不大吧。。。
有了这个东西,就能确保只有你或者其他认证过的人能修改你的文件/代码。
接下来用笔记本打开后缀为.pub的那货,Ctrl + A 再Ctrl + C复制下所有的东西,打开你的Github页面,找到你的账户设置Account Setting,在左边找到SSH keys。
选择“Add SSH key”,直接对着第二个大点的Key输入框Ctrl + V然后提交,title会自动生成的(就是你邮箱)。这样只有这台电脑能对这个账号的文件进行操作了。
完事后可以输入以下指令检测以下:
$ ssh git@github.com
第一次使用的话会询问你信任该站点不,回复yes。
看到提示“Hi! XXXXXXX,You have successfully xxxxxxxxx”就说明SSH设置好了。
到此前期工作已经基本完成,应该可以上传、同步我们的项目了。
1)创建项目:
找到代码的主目录,通常是.sln所在的位置,比如我的是
F:\Projects_VisualStudio\DirectXLearningPath
对着文件夹空白地方右键->Git Init Here
过一会会出现一个隐藏的文件夹“.git”,表示本地仓库创建完成,如图。
这样本地的仓库就创建好了,接下来创建服务器上的仓库。
2)在Github上选择New Repository,名字起好,确定。
3)将本地仓库关联到远程仓库
注意后两项换上自己的信息,最后的.git别忘了,.git之前的名字是你Github上那个仓库的名字。
$ git remote add origin git@github.com:NooBJeff/DirectXLearningPath.git
有的时候为了学习别人的代码,需要将他们的仓库clone到本地,可以使用一下指令
$ git clone git@github.com:<UserName>/<RepoName>.git
add
将本地文件的修改加入同步
$ git add XXXXX
XXXX是所有你需要同步至服务器的文件,多次使用该命令一个个的添加,比如你所有的代码文件,工程设置文件,等等。确保你把所有必须的文件都add进去,不然别人同步你的仓库一看缺少文件就醉了。
而且每次文件内容有变动之后一定要及时的add,add的操作只记录之前的修改;add之后再修改的话,还得add一次。
PS:按TAB可以自动补全文件名称
commit
将修改commit至仓库
$ git commit -m "您对此次修改的注释"
这一步怎么说呢。。。是很重要的一步然而我目前也只能理解成,将所有add过的文件打包(并没有真的打包成一个文件),准备发往服务器。
将commit同步至远程仓库
如果是第一次同步,你的代码都在本地而github的仓库什么都没有的时候,输入
$ git push -u origin master
push
以后你修改了代码之类的,add这个文件,commit然后push就行。
新建了文件需要add->commit->push
$ git push origin master