梦相随1006

版权归 梦相随1006 所有,未经 https://www.cnblogs.com/xin1006 作者许可,严禁转载

导航

Git 2.24.0 最新版下载安装 配置使用 基本命令 本地仓库 远程仓库

Git(读音为/gɪt/。中文 饭桶 )是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

 

GIT一般工作流程如下:

1.从远程仓库中克隆 Git 资源作为本地仓库。

2.从本地仓库中checkout代码然后进行代码修改

3.在提交前先将代码提交到暂存区。

4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。

5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。

下图展示了 Git 的工作流程:

 

Git官网:https://git-scm.com/downloads

Linux版本下载地址 : https://mirrors.edge.kernel.org/pub/software/scm/git/

Windows版本:

 

我这里Windows版本使用的是绿色版.(安装版下载后傻瓜式安装即可),绿色版双击后之会执行解压缩动作.

2.24.0Portable. 这个版本解压后,也不大约占空间 285M

解压后会在根路径下看到 git-bash.exe,双击打开之后可以写Linux命令及其git命令;

解压后会在根路径下看到git-cmd.exe,双击打开之后可以写Windows命令及其git命令;

 

 在cmd目录里面我们可以看到GIT提供的图形化界面;如下图所示,

 

GIT图形化界面工具(小乌龟出品的) https://tortoisegit.org/download/

 下载后双击安装,我们注意安装过程中选择 OpenSSH这个

在后面的配置过程中选择我解压的git的路径

 然后再不用改动,直到完成即可。

装好之后,鼠标右键 可以看到 装好的  TortoiseGit

 小乌龟官网有 语言包,如果想用中文版的就下载下来安装,安装之后在设置里面选择语言。

 

初始化本地仓库(命令 图形化界面操作均可) 注意打开隐藏文件,否则看不到.git

  git init

  小乌龟图形化界面 Git Create repository here

 

 在与.git隐藏文件同级目录(也就是git_repo目录里面创建一个 test.txt文件),将其加入暂存区

 git add : 就是将文件放入到暂存区

Git与SVN的一个不同之处就是它有暂存区的概念。

工作区(Working Directory):就是电脑上能看到的实实在在的目录,诸如上面的git_repo就是一个工作区;

版本库(): .git 隐藏文件夹才是真正的版本库;

Git版本库中有很多内容,其中就有个叫暂存区(stage或Index),还有git会为我们自动创建一个主分支master,及其指向master的指针HEAD。

如图:

 git commit  :将暂存区的内容提交到版本库(注意它提交的时候,必须要写描述)

 git log :查看历史提交日志

 git reflog :简洁形式显示提交的版本和日志信息

 git status 查看状态

 git reset --hard 版本号唯一标识(使用 git reflog前面显示的短的版本号标识即可) :版本切换,可以切换到任意版本的状态

 可以反复修改该文件,然后直接提交;

选中该文件,右键“TortoiseGit”-->Show log --> 我们可以看到每次修改情况,如果要比对某两次的版本的化,选择其中的两条,右键-->Compare revisions-->看两次差异

 

如果想在版本库中删除某个文件,但是本地依然保留着,可以这么做?

 

==> github提交时,用户权限被拒(账号问题)

在"控制面板"->"用户账户"->"管理windows凭据"-> 可以发现有git:https//github.com的用户凭据,展开信息可以看到相关账号的信息,可以把这个凭据删除。 删除之后再次提交会让重新输入github的用户名和密码,或者是更改为自己的信息即可成功push.

 

==> github提交时,提示没有权限

问题场景:我已经是该项目的Developer, 可是提交代码依然提示无权限  这是由于我是在master上直接提交的, 而GitLab默认是保护master分支的, push只对Manifest开放

解决办法:设置GitLab中的Protected Branches 解除对master的保护(Settings-->Repository)

不过多人在master分支上开发,是很不严谨的, 出了问题会很麻烦, 正规的还是老老实实在自己的分支开发,最后merge到master

 

==> 把本地项目推送至Github仓库

 git push -u origin master

出现如图所示问题 则是因为本地仓库缺少readme文件,解决方法是通过如下命令进行代码合并【注:pull=fetch+merge]
git pull --rebase origin master
推送成功后,可以在github中看到项目文件,当然你可以利用github图形界面提示直接上传文件,这里小编只是想给大家介绍以下git的使用,它在团队协作中必不可少。

 

==========================================华丽的分割线===============================================

分支是:由每次提交代码所形成的一条时间线。

最开始只有一个分支叫master分支,Master它是一个指针,始终指向着最后代码提交的版本;;;还有一个Head指针始终指向着当前正在使用的分支。

我们在某次提交的版本之上创建了一个新分支叫Dev,如果要想使用新分支就让Head指向Dev分支。

在新的分支上开发完代码,提交了版本后 Dev指针随着提交而变动,但是Master指针使用不发生变化。

 当Dev分支功能开发完成之后,我们要进行分支合并时,只需要让Master指针指向当前Dev所指向的版本的指针上,再让Head指针指回Master指针上,最后把Dev分支删除,最后就还是剩下一个主分支。

git branch 分支名    : 创建分支  

git checkout 分支名 :   切换分支

git branch  :  查看所有分支

不同分支之间的关系是平行关系,不会相互影响.

git merge 分支名    : 切换到主分支,然后再执行该命令把 指定分支合并到主分支上

git branch -d 分支名 :   删除指定分支

git branch  :  查看所有分支

 ==========================================华丽的分割线===============================================

远程仓库工作流程

 远程仓库平台介绍:

Github:  https://github.com  全球最大的开源项目托管平台

码云:   https://gitee.com     全国最大的开源项目托管平台,良心平台速度快,提供免费私有库。

 

关于码云的使用,参见我自己的这篇文章描述。 https://www.cnblogs.com/xin1006/p/11247025.html

 关于Idea与Git的使用,参见我自己的这篇文章描述。https://www.cnblogs.com/xin1006/p/13269797.html

 

posted on 2019-12-05 23:18  梦相随1006  阅读(1515)  评论(0编辑  收藏  举报