写在前面
本文记录的是在服务器已有文件夹下新建GIT仓库,然后远程linux客户端连接,获取该仓库等操作。重点在于建库与连接过程,而不是git的相关命令解释。
服务器建库
假设当前文件夹为repo(已经cd进入),那么要为repo文件夹建GIT仓库,则
- git init --bare,初始化仓库。要加上参数–bare,这样后面才能push。详见这里。
- git config [–global] user.email “your email address” & git config [–global] user.name “your name”,[]表示可选参数。
- 在当前文件夹下创建.gitignore文件,注意不要忘了前面的“.”。这个文件可以填写那些你不想加进仓库的文件夹和文件,具体的规则很简单的,可以自行搜索一下。这一步我觉得还是挺重要的,如果你有很多大容量文件夹其实是不想拉到本地的,那就可以把它们忽略,这样可以大大节省后面操作的时间。
- git add .,这一步是把当前文件夹下所有文件夹和文件加入仓库中,当然除了在.gitignore文件中指定忽略的那些之外。这一步比较耗时。
- git commit -m ”注释“,提交仓库,版本+1,参数-m可以指定注释文本,从而使得每个版本都有具体含义。
客户端连接
接下来,客户端拉去服务器上的仓库。
- 依旧需要设置邮箱和用户名。git config [–global] user.email “your email address” & git config [–global] user.name “your name”,[]表示可选参数。
- 添加远程仓库信息。git remote add origin “url”,origin是远程主机的昵称,当然也可以换成其它名字,不过后续的命令也要用同个名字才行。至于URL部分,我是通过ssh连接远程服务器的,因此URL必须是ssh协议,即ssh://username@ip:port/absolute path to repo,username表示远程服务器登录的用户名,如果ssh更改过默认端口,那么通过port字段可以指定端口。后面再输入仓库的绝对路径。
- git clone ssh://username@ip:port/absolute path to repo。拉取整个仓库文件夹到本地,这一步和上一步没有顺序限制。
客户端提交仓库
如果客户端对仓库内文件进行过改动,需要更新到服务器端,则
- git add .,添加所有文件夹,这里只会添加那些改动过的,比如新增,修改,删除
- git commit -m ”注释“,提交仓库,版本+1
- git push origin master,提交到远程仓库,origin是远程主机的昵称,master是仓库的分支名称,一个仓库下可以建立多个分支,从而保证主分支master的稳定性。建库的时候没有指定分支名的话就会默认只创建一个master分支,对于我们日常使用来说就足够了。那些有版本发布需求的仓库就会在其它分支下更新,等到BUG改完后测试完成后,再更新到master分支,从而保证主分支master的稳定性。