git的本地仓库和远程仓库是什么意思?常见的代码冲突怎么解决

git的本地仓库和远程仓库是什么意思?常见的代码冲突怎么解决,第1张

本地仓库 就是你电脑上的一个仓库;

远程仓库就是在公网服务器上的仓库。

git离线提交的原理就是:你修改的文件,保存动作是存放在本地硬盘,提交到本地仓库,就是讲文件修改信息保存到git,git会记录文件历史版本。远程推送就可以将本地仓库修改的文件推送到远程仓库去,这里说的远程仓库可以是github,gitlab之类服务器上的仓库。相当于有多份代码分别放置在 你电脑 服务器

具体的可以百度。至于冲突解决,先弄清楚文件冲突原理,基本是同一行存在两个提交,而且内容不一样导致,只需要打开冲突文件,整理冲突标记,统一文件内容保存,然后更新文件状态为冲突已解决 即可。

第一次回答,尽量有问题百度搜索。这样更锻炼解决问题能力。

  1

  准备,下载git到你的电脑上,下载地址: http://git-scmcom/downloads

  安装,直接下一步下一步就好,记得下载位置就好,配置的时候要用

  2

  在studio中设置git插件:File->Setting->Version Control->Git,添加您刚刚安装的git地址目录,例如: C:\Program Files\Git\bin\gitexe ,

  然后可以点击Test测试一下,如下图:那么你就设置成功了。

  3

  初始化git项目(git init),操作如下:VCS->Enable Control Integration->Select "Git"

  4

  为git添加remote,在这一步中,studio没有为我们提供可视化的GUI,得用Git工具了。找到并打开git安装目录下面的Git Bash,将目录切换到项目的目录,然后输入git添加remote的命令,例如:git remote add origin "https://githubcom/xxx/xxxgit"

  5

  将代码添加到VCS(git add),选中要提交的文件->VCS->Git->Add,

  6

  提交变化(git commit),VCS->Commit Changes, 在提交的时候可以选择Commit and Push,就可以直接push到服务器。

  7

  Git Push,VCS->Git->Push

  最后,如果要是clone project到studio

Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的主要功能:

1 检查电子邮件或其他方式来检查提交状态的平均开发人员。

2 修补程序并解决冲突(您自己或要求开发人员稍后重新提交它,如果它是一个开源项目,请确定哪些修补程序可以工作,哪些不能)。

3将结果提交到公共服务器,然后通知所有开发人员。

扩展资料:

Git的优缺点:

优点:

1 适合分布式开发,强调个人。

2 公共服务器压力和数据量不是太大。

3快速和灵活。

4任何两个开发人员之间的冲突都可以很容易地解决。

5 离线工作。

缺点:

1 数据很少(至少是中文)。

2 学习周期相对较长。

3不符合传统思维。

4 可怜的代码的机密性。一旦开发人员克隆了整个库,所有代码和版本信息都可以完全公开。

这些开发中很常见的问题,所以git的取消提交,回退甚至返回上一版本都是特别重要的

大致分为下面2种情况:

1没有push

这种情况发生在你的本地代码仓库,可能你add ,commit 以后发现代码有点问题,准备取消提交,用到下面命令

reset

git reset [--soft | --mixed | --hard

上面常见三种类型

--mixed

会保留源码,只是将git commit和index 信息回退到了某个版本

git reset 默认是 --mixed 模式

git reset --mixed 等价于 git reset

--soft

保留源码,只回退到commit 信息到某个版本不涉及index的回退,如果还需要提交,直接commit即可

--hard

源码也会回退到某个版本,commit和index 都回回退到某个版本(注意,这种方式是改变本地代码仓库源码)

当然有人在push代码以后,也使用 reset --hard <commit> 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现权是冲突

所以,这种情况你要使用下面的方式

2已经push

对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致你要用到下面的命令

revert

git revert用于反转提交,执行evert命令时要求工作树必须是干净的

git revert用一个新提交来消除一个历史提交所做的任何修改

revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新(这里不会像reset造成冲突的问题)

revert 使用,需要先找到你想回滚版本唯一的commit标识代码,可以用 git log 或者在adgit搭建的web环境历史提交记录里查看

git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61

通常,前几位即可

git revert c011eb3

git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit

看似达到的效果是一样的,其实完全不同

第一:

上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突但是revert 并不会

第二:

如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里但是revert 方向提交的commit 并不会出现在历史分支里

第三:

reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的

1在网上下载一个git软件并安装

2生成ssh

在桌面点击右键,选择Git Bash Here,进入操作界面,输入"ssh-keygen -t rsa -b 4096 -c"@com(在codingnet注册时的邮箱)""命令。

下一步就是新建文本文档命名改成"id_rsa",继续操作设置密码完成后,再输入命令“cat ~/id_rsapub”命令,生成ssh

用文本文档打开ssh获取秘钥,复制里面的内容,然后在codingnet中账户设置里把ssh的内容粘贴就行了,其他自己设置就好。这样就配置完成。

3创建本地仓库

在本地创建一个文件夹,作为你上传代码的本地仓库,接下来就要把这个仓库与coding服务器端进行配置

在这个文件夹内点击右键,选择Git Bash Here,首先要初始化本地仓库,输入"git init"。

然后打开codingnet在里面自己所创建的代码仓库的地址复制,在git中输入命令"git clone +仓库地址(右键鼠标粘贴)",例:http://

这时会把codingnet中的代码仓库里的东西全部克隆在你的电脑中(注:看你是否有用cd进入其他盘,否则默认克隆在桌面)

4代码推送

把需要上传的文件放进上述克隆下来的文件夹中,然后在git用命令进入文件夹,进而再检查仓库状态命令"git status"

如果codingnet上没有该文件则字体会显示红色,用命令"git add "选中全部上传的文件。

完成上述步骤后,输入命令"git commit -m "自己标识文件注释是什么"",

然后输入"git push origin master"命令推送到云端,origin是服务器,master是分枝。

5代码下载

原本你已经有克隆过以前的数据,然后另外有人上传一些新的文件的时候,就可以使用命令"git pull origin master"更新最新的仓库。

在使用android studio的Git来进行版本控制时,Android studio可以直接可视化的新建本地库,连接到远程库,提交,获取等操作。下面来说一下在android stuido下git的基本使用,以及遇到的一些问题的解决方法。

1、从git上拉取代码(如图):

然后在弹出框中输入地址,clone就可以了。

以下是将本地代码,上传到本地仓库,提交的服务器的操作。

2、新建本地库

如图操作之后,提示选择目录,这时候一定要选择项目的根目录(容易出错),否则以后从服务器直接拉取容易出错。当成功创建本地库之后,所有代码会由白色变为红色,意思是没有提交到本地仓库。在每个文件夹的根目录都会有一个gitignore文件,这是用来忽视不想提交到仓库的代码的。

在本地仓库的根目录下会有一个隐藏的文件夹git。这就是我们的本地仓库,我们会把修改过的代码提交到仓库。如果我们想删除本地的仓库,直接删除这个git文件夹,然后在版本控制设置里面,把这个本地仓库删除就行了(如图):

3、将代码上传本地仓库

当把所有不想上传的代码忽略之后,右击项目,选择git-add就直接把代码执行了git的add操作,现在还并没有提交到本地仓库。点击面板上的按钮,commit,就把代码提交到了本地仓库

4、将本地仓库代码提交到远程服务器

如上图操作,在弹出的对话框中点击push,就成功的将本地代码提交到了服务器。

这时候如果想要删除上传服务器的地址,直接在android studio上操作是行不通的,这时候需要命令行来操作。

打开项目的根目录,右键Git Bash Here,输入命令git remote rm origin(最后一个是在连接远程时命名的),就可以将上传的服务器地址删除掉了。

输入命令git remote add origin https可以添加上传服务器的路径,当从as中上传的时候,会有提示框显示选择上传路径。如果添加过了一个路径,再添加,需要一个新的命名如git remote add neworigin https

以上就是在android studio上使用git的最基本的操作,多操作几遍就会发现,git是如此的方便、简单、快捷、实用

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » git的本地仓库和远程仓库是什么意思?常见的代码冲突怎么解决

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情