码迷,mamicode.com
首页 > 其他好文 > 详细

Git的进阶操作--远程仓库的操作(二)

时间:2020-10-06 20:53:35      阅读:33      评论:0      收藏:0      [点我收藏+]

标签:etc   github   cache   als   nss   art   egit   平台   就是   

 


 

 

 

git本地仓库的操作,详见:https://www.cnblogs.com/smilecindy/p/13767153.html

 


第一part:GitHub远程仓库


 GitHub:是一个开源的软件项目代码的托管平台(代码管理平台---->所谓的中央服务器)

使用github创建远程仓库

实现Git文件内容上传到GitHub的话,有两种实现方式:基于http/https协议和基于ssh协议。


 

1.基于http/https协议:

技术图片

步骤一:git clone 远程仓库地址,将远程仓库克隆到本地  或者使用git  clone 远程仓库地址  -b 分支名 (从远程仓库的分支克隆到本地)

需要填写github的账号和密码:

技术图片

 

 

 技术图片

 

技术图片

 

 

 鉴权完后则解决完443超时的错误。还有就是鉴权完后如果还出现443的情况的话则多次尝试push吧,因为服务访问的问题

git push -f origin master 强制合并进行push

 步骤二:如果远程仓库有更新,则直接进行拉取最新的代码

1)fetch是将远程主机的最新内容拉到本地,不进行合并

git fetch<远程主机名> <远程分支名>

2)pull 则是将远程主机的master分支最新内容拉下来后与当前本地分支直接合并 fetch+merge

语法:git pull <远程主机名> <远程分支名>:<本地分支名>  ,如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

技术图片

 

 

 技术图片

 

 

 思考:本地和远程仓库同时修改同一个文件,那么会产生冲突?

记住:每次提交的时候建议都先进行pull一次,如果服务器上有修改则会自动完成同一个文件的合并操作,然后后面的操作就跟前面解决冲突与的方式一模一样

步骤三:对本地仓库的代码进行操作(新增文件,修改文件,删除,提交,拉取分支,提交等操作)

注意:对远程仓库的文件进行操作,如果使用命令行的话,则都要在本地仓库先进行一系统的操作,最后在推送到远程仓库;也可以在github中直接进行操作在同步到本地

比如:命令删除远程仓库的文件或者目录:

1)先将暂存区的文件进行删除:git rm -r --cached 需要删除远程文件的名

2)进行提交生成历史版本:git commit -m "注释"

3)最后将生成的历史版本进行推送同步到远程仓库:git   push 远程主机名 分支名

技术图片

 

 

 技术图片

 

 

 

步骤四:将本地仓库代码推送到远程仓库,使用git  push 远程主机名 分支名

git push 远程主机名 本地分支名      远程仓库创建分支通过本地创建分支进行同步(远程分支没有该分支,会实现推送本地分支到远程分支)

技术图片

 

 

 

 技术图片

 

 

 

 技术图片

git push 远程主机名 :远程分支名----(删除远程分支)

git push -u 远程主机 本地分支名:远程分支名--- (同步本地分支的同时进行远程分支的重命名操作)

步骤五:合并代码:

在本地先将分支的代码进行合并到本地master中,再将本地master的代码推送到远程仓库的master中

技术图片


 2.基于ssh协议(推荐使用):

该方式与https方式相比,其主要改变时对github的用户身份鉴权的方式,后续的git的操作没有任何影响:

步骤一:生成客户端公私钥文件

需要安装OpenSSH,使用其完成公私钥文件的生成,安装成功之后,直接在cmb中输入ssh,如果显示如下,则安装成功:

技术图片

在cmdb中执行:ssh-keygen -t rsa -C “注册邮箱地址”

技术图片

 

 

 注意:生成到当前用户目录,会存在与.ssh目录下

技术图片

 

 

 步骤二:在github上进行配置SSH,公钥文件信息

技术图片

 

 

 

步骤三:直接使用ssh的地址完成克隆操作即可

技术图片

 

 

 技术图片

 

 

 

步骤四:后续操作与https方式一样


第二part:github中的tag


 github中的tag:相当于是实现标签的定义,制定标签信息

1.创建标签:git  tag -a 标签名 -m "注释该标签的版本功能作用"

2.查询标签:git  tag

3.将本地标签推送到远程仓库:git push 远程主机名 标签名

技术图片

 

 技术图片

4.如果需要将本地的所有标签进行同步到远程仓库的:git  push 远程主机名 --tags

5.删除远程仓库标签:git push origin --delete 标签名

6.删除本地仓库标签:git tag -d 标签名


第三part:忽略文件


忽略文件需要创建一个名为.gitignore文件,该文件用于进行声明忽略文件或者不忽略文件的规则,规则对当前目录以及其子目录都生效。

步骤一:需要在仓库目录下创建一个文件.gitignore文件,然后再该文件中声明忽略规则

步骤二:文件中的每一行指定一个忽略规则

优先级:当前目录定义规则,还可以实现父级目录的定义规则,依次类推

匹配语法:最常规的就是目录、文件

1)/目录名/ 目录名/ 父级目录/*

2)*.后缀 

3)不忽略:!*.后缀

4)使用通配符? []

5)匹配多级目录 **

例如:test/**/world 表示匹配的可以是忽略test/world test/test1/world test/test1/test2/test3..../world

注意:针对.gitignore规则不生效的文件说明:.gitignore只能够忽略那些没有被track的文件,如果某些文件已经被写入到版本管理总的话,则修改.gitignore是无效的

解决不生效的问题:

1)先将暂存区中的文件进行删除使用命令:git rm -r --cached 文件名

2)提交生成历史版本:git commit -m "注释"

3)然后此时.gitignore文件会对刚才删除的文件进行忽略操作

       

 

Git的进阶操作--远程仓库的操作(二)

标签:etc   github   cache   als   nss   art   egit   平台   就是   

原文地址:https://www.cnblogs.com/smilecindy/p/13768377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!