什么是Git?
2019-08-01 22:58:34 / 舒彬琪 / 295 浏览
什么是Git?
Git是一款源代码管理工具(版本控制工具)
源代码有必要管理起吗?
1.0
2.0 //
svn,vss,vcs.... git
有必要,因为人工的去处理不同的版本,做相应备份会很麻烦。
Git是linux之父当年为了维护linux---linus之前也是手动维护合并把文件发给Linus
linus自己写了一个版本管理的工具(Git)
Git安装
初始化Git仓储/(仓库)
这个仓库会存放,git对我们项目代码进行备份的文件
在项目目录右键打开 git bash
命令:
git init
自报家门
就是在git中设置当前使用的用户是谁
每一次备份都会把当前备份者的信息存储起来
命令:
配置用户名:
git config --global user.name "xiaoming"
配置邮箱:
git config --global user.email "xm@sina.com"
把代码存储到.git仓储中
1.把代码放到仓储的门口
git add ./readme.md
所指定的文件放到大门口git add ./
把所有的修改的文件添加到大门口2.把仓储门口的代码放到里面的房间中去
git commit -m "这是对这次添加的东西的说明"
可以一次性把我们修改的代码放到房间里(版本库)
git commit --all -m "一些说明"
--all 表示是把所有修改的文件提交到版本库
查看当前的状态
可以用来查看当前代码有没有被放到仓储中去
命令:
git status
git中的忽略文件
.gitignore,在这个文件中可以设置要被忽略的文件或者目录。
被忽略的文件不会被提交仓储里去.
在.gitignore中可以书写要被忽略的文件的路径,以/开头,一行写一个路径,这些路径所对应的文件都会被忽略,不会被提交到仓储中
/.idea
会忽略.idea文件/js
会忽略js目录里的所有文件/js/*.js
会忽略js目录下所有js文件写法
查看日志
git log
查看历史提交的日志git log --oneline
可以看到简洁版的日志
回退到指定的版本
git reset --hard Head~0
表示回退到上一次代码提交时的状态
git reset --hard Head~1
表示回退到上上次代码提交时的状态
git reset --hard [版本号]
可以通过版本号精确的回退到某一次提交时的状态
git reflog
可以看到每一次切换版本的记录:可以看到所有提交的版本号
分支
默认是有一个主分支master
创建分支
git branch dev
创建了一个dev分支
在刚创建时dev分支里的东西和master分支里的东西是一样的
切换分支
git checkout dev
切换到指定的分支,这里的切换到名为dev的分支
git branch
可以查看当前有哪些分支
合并分支
git merge dev
合并分支内容,把当前分支与指定的分支(dev),进行合并
当前分支指的是
git branch
命令输出的前面有*号的分支合并时如果有冲突,需要手动去处理,处理后还需要再提交一次.
GitHub
不是git,只是一个网站
只不过这个网站提供了允许别通过git上传代码的功能
提交代码到github(当作git服务器来用)
git push [地址] master
示例:
git push https://github.com/huoqishi/test112.git master master
会把当前分支的内容上传到远程的master分支上
git pull [地址] master
示例:
git pull https://github.com/huoqishi/test112.git master
会把远程分支的数据得到:(注意本地-要初始一个仓储!)
git clone [地址]
会得到远程仓储相同的数据,如果多次执行会覆盖本地内容。
YUYI 的留言
大佬很厉害,666
Windows 7 Chrome 2019-08-06 09:01:00
管理员回复:
谢谢小伙伴的鼓励,哈哈
2019-08-06 09:12:33
SVN 的留言
SVN牛批克拉斯,哈哈😄 😂🌚🌝🙄🙃😊😏😳😒
Android Chrome 2019-08-06 00:15:24
管理员回复:
我也觉得SVN挺不错了,都很方便管理项目
2019-08-06 09:13:02
风来了 的留言
git很不错1
Windows 7 Chrome 2019-08-05 17:47:59
风来了 的留言
git很不错1
Windows 7 Chrome 2019-08-05 17:06:10
风来了 的留言
git很不错
Windows 7 Chrome 2019-08-05 16:55:42
管理员回复:
大佬还真来刷了,牛逼克拉斯啊,多的就不展示了,点的手累
2019-08-06 09:13:58
未可知 的留言
Git相比叫传统的基于文件SVN优势明显,主要体现在天然分布式不怕丢失;不以文件为为基础,基于Git的数据库(commit哈希健值文件)的版本管理,分支、标签等操作飞速,而不是缓慢地文件和目录操作;Git下每个人都有一个独特的工作区和分支,不必实时和中心服务器同步就可以;带有社交性质的基于Fork——PR(MR)流程的,协作版本管理;最后就是基于gitlab running/github webhook的CI/CD开发一栈自动化流水线或者DevOPS。
Windows 10 Chrome 2019-08-04 00:00:37
管理员回复:
和SVN中心集中式文件管理的仓储管理不同,Git从设计到诞生就以融入了分布式基因。虽然Git也有服务器端的Github、Gitlab、Gogs等多种服务器端,但是Git所有操作都可以无服务器存在,你可以只在本地都能完成所有git操作,可以在目录之间实现clone、push和pull等需要服务器端的操作。
2019-08-04 00:02:12
GIT迷 的留言
GIT的忠实粉丝,国内转码云的比较多啊,毕竟是国内线路,上传下载都要方便多了,使用起来也挺方便的
Windows 10 Chrome 2019-08-03 23:47:44