为了防止某天电脑发生意外,遂在本机搭建Git Server。使得本机正在开发的程序,及本机虚拟机开发的程序,可以上传到本机的Git Server。并且用Baidu Cloud Disk对本机Git Server进行同步备份,减少发生故障的可能性。
一、使用Gitstack搭建Git Server
GitStack 优点:有Web端,可以方便仓库、用户管理;而且可以方便查看Git log.
下载地址:http://gitstack.com/download/
我下载的版本:http://s3.amazonaws.com/gitstack/GitStack_2.3.6.exe
安装过程不再赘述。
附加细节:我在安装的时候,碰到80端口占用问题,使用以下方式解决。
http://blog.claves.me/2016/04/26/port-80-is-using-by-pid-4-on-windows/
二、在Gitstack WEB端建立仓库
1、新建用户
2、新建仓库
http://localhost:8080/fp_cloud_com.git
3、将用户添加到仓库管理者名单
三、克隆本地的Git Server 远程仓库到本地
1、克隆仓库
git clone http://localhost:8080/fp_cloud_com.git
四、更新仓库
1、添加文件
Tip: git add 命令是添加需要上传的文件到缓存中,并不是真正意义的上传。
git add * #添加所有文件 git add --add #添加所有文件 git add filename #添加单个文件
2、提交文件
git commit -m "备注信息"
Tip: 备注信息不能为空
3、推送文件
git push origin master
Tip:将本地项目文件,推送到本地远程仓库。
最后:疑惑
1、git push 和git commit 区别
git commit 操作的是本地库,将本地修改提交到本地库
git push 操作的是远程库,将本地修改提交到远程库
2、 git pull 和git fetch等区别
都是从远程分支获取最新版本到本地的命令
2.1 git fetch :从远程获取最新版本到本地,不会自动merge
如:
git fetch origin master #从远程origin的master主分支下载最新版本到origin master分支 git log -p master..origin/master #比较本地master分支和origin分支差别 git merge origin/master #合并 ############################分割线################################# #或者这样干 git fetch origin master:test git diff test git merge test2.2 git pull:相当于从远程获取最新版本并merge到本地
git pull origin masterTip:所以说不推荐用 git pull
3、origin是什么?
当clone完成克隆远程仓库后,Git会自动将远程仓库命名为origin。
所以,origin master相当于指向远程branch的指针。
4、git push花式用法有哪些?
$git push origin master:master (在local repository中找到名字为master的branch,使用它去更新remote repository下名字为master的branch,如果remote repository下不存在名字是master的branch,那么新建一个)
$git push origin master (省略了<dst>,等价于“git push origin master:master”)
$git push origin master:refs/for/mybranch (在local repository中找到名字为master的branch,用他去更新remote repository下面名字为mybranch的branch)
$git push origin HEAD:refs/for/mybranch (HEAD指向当前工作的branch,master不一定指向当前工作的branch,所以我觉得用HEAD还比master好些)
$git push origin :mybranch (再origin repository里面查找mybranch,删除它。用一个空的去更新它,就相当于删除了)
5、如何给本地仓库添加一个远程仓库?
git remote add origin http://localhost:/fp2_cloud_com.git git push origin master git remote show origin
6、GIT分布式版本控制系统体现在哪里?
Git就是分布式版本控制系统,对应的是集中式的版本控制如SVN。
简单的说,分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓库中。
而像SVN这样,只有一个中央控制,所有的开发人员都必须依赖于这个代码仓库。每次版本控制的操作也必须链接到服务器才能完成。
6、图解
参考:
http://lishicongli.blog.163.com/blog/static/1468259020132125247302/
推荐的产品或网页:
http://www.open-open.com/lib/view/open1454062033433.html
https://about.gitlab.com/gitlab-com/