先写先介绍一下如何用github上创建一个项目吧。
用户登录后的界面如上所示。右下角是我们已经建好的库。点击其中任何一个就可以查看相应的库了。如果要新建一个项目的话,就点击Start a project。之后会出现如下界面。
输入库名字后新建成功!(以test为例)
然后在windows上安装Git-2.9.0-64-bit,安装过后就可以在命令行执行操作了。
在本地想要建库的路径下打开命令行。我的地址为D:projectsgoHomesrc
之后输入命令git clone https://github.com/Livalon/test.git (https://github.com/Livalon/test.git为我建的test库的HTTPS地址,读者此处替换为自己的地址)将下载下来的项目文件夹的所有文件及文件夹,包括.git文件夹在内,全部拷贝到你的托管项目的根目录。
如果本地库已经建好了,则在本地库的路径下执行命令git fetch 用来将远程仓库的内容提取到本地,不做其他操作。
那么想要上传项目要如何做呢?
在本地库的路径下打开命令行。我的地址为D:projectsgoHomesrc est
输入git add .(add后面有一个空格) 将改动的地方添加到版本管理器,
输入git commit -m "changes log" 提交到本地的版本控制库里,引号里面是你对本次提交的说明信息。
这段命令执行之后,会在命令行中返回你所做的修改,删除或者创建什么文件都一目了然。
输入git push -u origin master 将本地仓库提交到github上。
然后在网页上登陆github查看test库就会发现本地库里的文件已经上传到git上了。
本地库建好之后,接下来要做的就是管理多个分支。
在你的github分支上, 你需要保持你的主分支干净, 我说的干净就是没有任何改变,那么你可以在任何时候从你的主分支修建一个分支。每次, 你想提交一个补丁或者一个新特性时,你需要为它新建一个分支,而这个分支无论如何都会从你的主分支复制过来。
当你要在一个分支做拉请求时, 你也能够继续在其他分支上工作,而且也能够在其它分支上做拉请求。
在你新建一个新分支从主分支上拉下来所有改变之前,你的主分支需要确保是最新的。
在本地电脑新建一个分支: git branch <新分支名字> (此处由于已经建好了dev分支,所以提示已经存在)
将新分支发布在github上: git push origin <新分支名字>
切换到你的新分支: git checkout <新分支名字>
当前我的本地库为master分支,库内容如下:
当在git命令行中输入git checkout dev后,本地库切换到dev分支上,库的内容会发生变化。
当你想要在你的分支上提交内容,请确保是在你的那个分支上。
查看所有已存在的分支,你可以使用: git branch,星号标记的即为当前所在分支。
关于如何忽略本地库的内容:
先在本地库创建一个测试文件test
之后再本地库根目录下新建一个.gitignore文件
vim .gitignore 将test写入其中(想忽略什么就把什么写进去)
之后进行上传操作
可见,我们在本地库新建的test文件夹并没有被上传到github服务器,设置成功!
目前,在GitHub上面已经存在了HTTP链接为https://github.com/Livalon/22team.git 的远程库。在想要Clone远程库的文件夹下,利用Git bash命令行输入git clone https://github.com/Livalon/22team.git即可将远程库中的项目clone到本地代码仓库。如下图所示
那么在我们的文件夹下面就会看到,团队其他成员上传的代码内容,如下图所示:
然后,在这个项目文件夹下面创建自己的HelloWorld项目,我的HelloWorld项目的名称为HelloWorld-JiningShen,然后利用命令git add 以及git commit进行本地仓库的提交。git add是将改变提交到缓冲区,然而git commit 是将缓冲区中的内容提交到本地仓库。两条命令的执行如下面两张图所示:
用户也可以利用命令git status来查看具体的修改内容,与需要进一步进行提交的内容,如下图所示:
之后,我们就可以利用命令git push -u origin master将我们本地库的项目上传到远程库中,之后更新远程库就可以看到我们上传的项目内容,具体的命令行内容,与上传结果如下图所示:
这样,我们就把本地的项目HelloWorld-JiningShen上传到了指定的远程库中。
注意,我将项目同步到远程库的方法总结为两种:
1. 没有本地库的情况下,将远程库clone到本地,此时在此目录下的所有操作都是与远程库相关联的。
2.另一种则是,已经有了本地库,那么我们需要使用命令 git remote add origin +网址 将本地库与远程库相关联,从而才能够将本地库中的项目上传到远程库中。
首先在windows上安装Git-2.9.0-64-bit,安装过后再进行以下操作。
在我的E盘下新建了个"git本地库"文件夹,用该文件夹来建库,打开该文件夹,利用GIT bash命令行输入git clone https://github.com/Livalon/WindowsAppCanTool.git 来将远程库中的项目clone到本地库,(https://github.com/Livalon/WindowsAppCanTool.git)此链接为GITHub上面已经存在的一个远程库的HTTP链接。如图所示
下来就会看到项目文件夹的所有文件及文件夹都会拷贝到我们的托管项目的根目录。
然后,将自己新建的HelloWorld项目放到该项目文件夹下,我的HelloWorld项目的名称为HelloWorld_wangyanbo,然后上传我的项目,在我的E:git本地库WindowsAppCanToolHelloWorld_wangyanbo地址中打开命令行。
输入git add .(add后面有一个空格) 将改动的地方提交到缓冲区,
输入git commit -m "第一次提交" ,将缓冲区中的内容提交到本地仓库,
输入git push -u origin master ,将本地库的项目上传到远程库上,
最后就可以登录我们的github上查看到我们上传的项目内容。
这就实现了把本地的项目上传到指定的远程库的操作。
通过以上操作,我发现如果本地库已经建好,则只在本地库的路径下执行命令git fetch用来将远程仓库的文件提取到本地即可。没有本地库的话,就需要执行clone命令来将远程库clone到本地。
在电脑上安装git后,配置好与GitHub的连接后,进行如下操作:
1 新建HelloWorld项目
2 建立并更新readme文档
3 将项目克隆到本地
4 在本地项目新建Hello.c文件
5 用git add添加该文件
6 提交更改
7 把改动推送到远程仓库
8 此时本地文件为
在远程仓库新建pulltest文件
此时远程仓库的文件为:
9 用git pull将远程文件取回本地
现在本地文件为:
成功将pulltest同步到本地
10 远程添加fetchtest.c文件
此时远程仓库文件为:
然后执行git fetch命令
此时本地文件为:
可以看到没有fetchtest.c文件
此时查看远程分支git branch -r
用git merge origin/master合并分支
再查看本地文件
11 查看Hello.c文件的新旧版本差异
编辑该文件,添加一行语句
保存文件后,用git status命令
可以看出该文件被修改
通过git diff命令查看文件具体的修改情况,可以看出多了一行语句
然后提交修改
用git log命令可以看到提交历史