前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git分布式版本控制的学习使用记录

git分布式版本控制的学习使用记录

作者头像
十四君
发布2019-11-28 10:29:10
4810
发布2019-11-28 10:29:10
举报
文章被收录于专栏:Urlteam

git分布式版本控制的学习使用记录

工作后才了解到有这样的高效率程序控制,记录下我的使用学习过程,一方面可以帮助新手上路,也可以作为知识网络的备份。

1:git的用处

用于分布式的项目管理,可以用于个人的代码长期保存,可以方便快捷的参与开源项目。

使用教程:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

github网站:https://github.com/

说明书:http://pan.baidu.com/s/1jGxjQL4#path=%252Fgit

是git的远程仓库,是世界最大的开源项目聚集区,可以作为企业的代码托管基地。并且和多个项目管理网站挂钩。

2:安装方式

Python

ubuntu下:su<span class="operator"><span class="keyword">do</span> apt-<span class="keyword">get</span> install git</span>

1

ubuntu下:su<span class="operator"><span class="keyword">do</span> apt-<span class="keyword">get</span> install git</span>

msysgit是Windows版的Git,从http://msysgit.github.io/下载

3:本地仓库使用

对于新的机器需要设定用户名和邮箱

Python

<span class="variable">$ </span>git config --global user.name <span class="string">"Your Name"</span> <span class="variable">$ </span>git config --global user.email <span class="string">"email@example.com"</span>

12

<span class="variable">$ </span>git config --global user.name <span class="string">"Your Name"</span><span class="variable">$ </span>git config --global user.email <span class="string">"email@example.com"</span>

(1):

创建一个版本库(仓库)

Python

<span class="variable">$ </span>mkdir mycode //建立一个文件夹 <span class="variable">$ </span>cd mycode //进入这个文件夹 <span class="variable">$ </span>pwd //显示我的路径(路径不能有中文) /<span class="constant">Users</span>/michael/learngit git init //初始化一个仓库

1234567

<span class="variable">$ </span>mkdir mycode                    //建立一个文件夹<span class="variable">$ </span>cd mycode                          //进入这个文件夹<span class="variable">$ </span>pwd                                      //显示我的路径(路径不能有中文)/<span class="constant">Users</span>/michael/learngit    git init                               //初始化一个仓库

在目录下写一个记事本文件,使用

git  add  文件名.txt     也可以   git add  .   这个点很重要

就能够吧该文件加入到仓库中

git commit  -m  “add a txt”      加入到版本库中

git status             查看自己版本库的状态

git diff             查看详细修改的部分  必须是文本文件

git  log          查看历史记录

git reset  回退命令

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

现在要把当前版本回退到上一个版本就可以使用git reset命令:

git reflog   操作记录

可以用于找到所有版本号从而回退到任何时期的版本

关于暂存区

第一次修改 -> git add -> 第二次修改 -> git commit结果是第二次修改的没有到版本库中

Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。每次修改,如果不add到暂存区,那就不会加入到commit中。

git checkout -- file

可以丢弃工作区的修改:

git reset HEAD file

可以把暂存区的修改撤销掉(unstage),重新放回工作区:

git rm

用于删除文件

2:远程仓库的使用

这个干货还是直接看链接吧

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000

Python

git remote add origin 网站上的ssh链接

1

git remote add origin  网站上的ssh链接

从现在起,只要本地作了提交,就可以通过命令:

Python

<span class="variable">$ </span>git push origin master git clone ssh地址 从远程库中克隆一个出来。 Git支持多种协议,包括<code>https</code>,但通过<code>ssh</code>支持的原生<code>git</code>协议速度最快。

1234

<span class="variable">$ </span>git push origin master    git  clone  ssh地址  从远程库中克隆一个出来。Git支持多种协议,包括<code>https</code>,但通过<code>ssh</code>支持的原生<code>git</code>协议速度最快。

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

git stash list    查看工作现场列表

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:

开发一个新feature,最好新建一个分支;

如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

因此,多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

  • 查看远程库信息,使用git remote -v
  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

原创文章,转载请注明: 转载自URl-team

本文链接地址: git分布式版本控制的学习使用记录

No related posts.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-122,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档