当前位置:   article > 正文

git入门学习总结(简明指南版)+ 新手向介绍_git入门总结

git入门总结

git 与svn 都是为了对代码版本进行控制,git中存在一条主线,也就是第一次上传的代码会作为主线代码,一般来说,通过在主线上开辟新的分支进行开发后会将分支的代码合入master,保障一条主线版本会持续集成和升级,当然也可以在自己开出的新的分支上再开辟新的分支,合并时,合入原有分支,在分支上形成另一条线,不断集成和升级,一个好处就是可以保证在有一条主线的情况下,可以出现多个分支版本,而衍生的分支版本可以将自己的特色内容合入主线,而主线也可以合到新的分支版本上,保证了多个不同版本齐头并进,同时提供多条代码线选择。从一条可以向下发散很多,同时也可以将发散的合入起源主线,总的来和计算机中的树的概念是很吻合的。但git的树更加自由灵活。
在这里插入图片描述

安装下载

直接去官网下载对应环境(Windows, linux, OSX)的git。

创建新仓库

建一个新的文件夹,在文件夹内右键打开git bash命令行(安装时选项一定要勾选上,或者使用名命令行)

git init
  • 1

会在文件夹内生成 .git 文件,存储git相关的信息。
这样就生成了新的git仓库

检出仓库

创建一个本地仓库克隆版本

git clone /path/repository(本地仓库路径)
  • 1

检出远端服务器上的仓库

git clone username@host:/path/repository
  • 1

工作流

本地仓库由git维护的三棵树组成:

第一个是自己本地的仓库地址,本地实际文件所在地。
第二个是暂存区(Index),类似于缓存区,临时保存改动。
第三个是HEAD,指向你的最后一次提交。

在这里插入图片描述

添加(add)和提交(commit)

添加到暂存区 ,这是基本流程的第一步

git add <filename>
  • 1
git add *
  • 1

实际提交到本地仓库使用

git commit -m "提交时的附带信息"
  • 1

推送改动(push)

当改动提交到本地仓库之后,本地改动会在本地仓库的HEAD中, 提交到远端仓库如下

git push origin master
  • 1

master为最初的主线版本,其他的分支可以从这个上面衍生出来,修改后最终通过merge(合并) 添加到master

如果想要提交到其他分支上,则修改master为其他分支的名字即可

本地没有克隆现有仓库时,想要将仓库链接某个远程服务器使用
origin(起源)

git remote add origin  <server>
  • 1

然后开始上面的操作

分支(branch)

分支,将不同的开发内容隔离开来,起到开发绝缘的作用。
说白了就是多个人都从master上创建一个新的分支,这些分支最初都和master是完全一致的,除了分支名不一致,然后每个人在自己的检出(check out)的分支上开发自己的内容,最终将所有人开发的内容合并到master上,master最终会具有所有分支上的新代码。
分支的改变实际上就是对当前指针的改变,通过改变指针的指向达到快速切换的效果。
但随着代码和人数的增加,会难以避免代码冲突,这个时候在合并代码时就需要先行解决代码冲突,最后再合入master。
而这个时候,开发的管理和任务分配,也就是前期规划就比较重要了,做的好可以减少冲突的发生。扯远了,回来。
在这里插入图片描述
创建分支 newbranch1 ,并切换过去

git checkout -b newbranch1
  • 1

切换到主分支

git checkout master
  • 1

删除新建分支

git branch -d newbranch1
  • 1

只有将你的分支推送到远端时别人才能看到该分支,否则看不到
推送你的分支到远端

git push origin  分支名
  • 1

更新(pull)与合并(merge)

要更新的你的代码到最新(首先确认你的origin 当前的远端分支是哪一个,别更新错了)
使用

git pull
  • 1

获取(fetch)并合并(merge)远端改动,合并其他远端分支到你当前分支使用:

git merge <branch>
  • 1

合并时可能出现冲突(conflicts),没办法只能先手动修改再合并冲突的。
改完后执行如下命令标记为合并成功

git add <filename>
  • 1

合并改动之前,预览差异可以使用

git diff <源分支>  <目标分支>
  • 1

标签创建

确定一个版本后创建标签,来管理软件
创建一个1.0.0 的标签

git tag 1.0.0 2obkj3k34n;
  • 1

2obkj3k34n为想要标记的提交Id前10位,获取提交id使用

git log
  • 1

只用前几位也可以,只要唯一即可

替换本地改动

操作失误,替换掉本地文件使用
这个命令会使用HEAD中最新一次的内容替换你工作目录中的文件,已添加到Index暂存区的,以及新文件不受影响。

git checkout -- <filename>
  • 1

想放弃本地所有改动和提交,可以到服务器上获取最新版本,并修改本地分支指向它使用

git fetch origin
  • 1
git reset --hard origin/master
  • 1

master为分支

其他

图形化git

gitk
  • 1

彩色git输出

git config color.ui true
  • 1

显示历史记录时每行只显示一个提交信息

git config format.pretty oneline
  • 1

交互式添加文件到缓存区

git add -i
  • 1

开源图形化客户端

GItX
Tower
Source Tree
GitHub for mac
GitBox

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/976271
推荐阅读
相关标签
  

闽ICP备14008679号