标签:gitclient git data 代码 控制系统 Git 提交 root 分布式
所有的开发人员都得连上SVN服务器才可以写代码
分布式就是服务器中的所有代码分布在每一个开发人员的电脑上,这样即使服务器出问题对开发人员也无影响。
GitHub就是一个网站,谁都可以去这个网站托管自己的代码。GitHub可以看做是git以网站形式实现。
Gitlab和GitHub类似,你可以在公司服务器上通过gitlab上搭建一个代码仓库,也是以web页面实现的,这个是针对公司内部的,而GitHub是在互联网上已经做好,对大家提供的。
GitHub和gitlab都是基于git的,都是git的衍生产品。
系统自带git。但是建议去官网安装高版本,两台机器都要安装
[root@server ~]# rpm -qa curl-devel expat-devel gettext-devel openssl-devel zlib-develexpat-devel-2.1.0-10.el7_3.x86_64
gettext-devel-0.19.8.1-2.el7.x86_64
openssl-devel-1.0.2k-12.el7.x86_64
zlib-devel-1.2.7-17.el7.x86_64
[root@server]# tar xf git-2.26.2.tar.gz -C /usr/src
[root@server]# cd /usr/src
[root@server git-2.26.2]# make configure
[root@server git-2.26.2]# ./configure --prefix=/usr/local/git && make install
[root@server git-2.26.2]# ln -sf /usr/local/git/bin/git /usr/bin
[root@server git-2.26.2]# git --version
git version 2.26.2
使用者定义:
[root@gitclient ~]# git config --global user.name “chenhy”
[root@gitclient ~]# git config --global user.email “chenhy0128@163.com”
[root@gitclient ~]# git config --global color.ui true
[root@gitserver ~]# mkdir git_data.git
[root@gitserver ~]# cd git_data.git/
[root@gitserver git_data.git]# git --bare init
已初始化空的 Git 仓库于 /root/git_data.git/
root@gitclient ~]# ssh-keygen
[root@gitclient ~]# ssh-copy-id root@192.168.200.100
注:服务器是以root用户身份创建登录的git,所以就得用root@IP地址复制,如果以其他身份创建git,就用其他身份@IP地址复制
[root@gitclient ~]# git clone root@192.168.200.100:/root/git_data.git
正克隆到 ‘git_data’…
warning: 您似乎克隆了一个空版本库。
[root@gitclient ~]# cd git_data/
[root@gitclient git_data]# git status
无文件要提交(创建/拷贝文件并使用 “git add” 建立跟踪)
开发人员的所有代码都是在workspace诞生的,然后通过add提交可以提交到暂存区index(做一个临时的存储),从index可以commit提交到本地仓库(repository),然后就会产生一个代码版本的信息,当然代码也可以直接提交到本地仓库。如果想回到某一个版本你可以从本地仓库checkout回到任意一个版本。如果是多个人联合开发的话那么每一个人都要把代码从本地仓库push到remote(远程服务器上)。然后第二天开发人员从remote拉取(pull)最新的代码。。。
git基本管理
[root@gitclient git_data]# touch README
[root@gitclient git_data]# git status
位于分支 master
初始提交
未跟踪的文件:
(使用 “git add …” 以包含要提交的内容)
README
提交为空,但是存在尚未跟踪的文件(使用 “git add” 建立跟踪)
此时代码在workspace中
[root@gitclient git_data]# git add ./*
[root@gitclient git_data]# git status
此时代码已提交到暂存区index中
[root@gitclient git_data]# git commit -m ‘first’
[master(根提交) f45ccec] first
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
[root@gitclient git_data]# git status
无文件要提交,干净的工作区
此时已经提交到本地仓库
[root@gitclient git_data]# git branch --unset-upstream 如果报错,可以用这条命令修复
[root@gitclient git_data]# git status
[root@gitclient git_data]# git push root@192.168.200.100:/root/git_data.git
此时已经提交到远程仓库remote
步骤总结:
如果修改某一个文件,就可以将指令2和指令3合并,即直接提交到本地仓库
已经添加到缓存区删除文件:
这个只是删了缓存区的,workspace 的没删
–hard后面只写前几个字符也可以,不用全写
例:
比如今天是六月四号,你已经还原到了一月一号,但是你后悔了,想还原到三月一号的数据,那么对于一月一号来说三月一号就是未来数据
给94d46起一个标签叫v20190616
最起码一共得有三个分支:master、dev、test
dev是开发分支,然后每个人从dev上获取自己的分支用来写各自的代码,然后所有人的代码写完之后回向dev上合并,最后确定dev上的代码都没有问题之后会合并到master分支上。
标签:gitclient,git,data,代码,控制系统,Git,提交,root,分布式 来源: https://blog.csdn.net/dilreba/article/details/118311101
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。