ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

一文看懂git的使用

2022-01-30 15:02:23  阅读:99  来源: 互联网

标签:文件 git 一文 版本 使用 txt log


分布式版本控制git                                   集中式版本控制svn

SVN与Git的最主要的区别?

  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

一:通过命令 git init 把这个目录变成git可以管理的仓库 

 新建完成后会出现.git 文件夹 这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:

二:把文件添加到版本库中

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

第一步:使用命令 git add 123.txt添加到暂存区里面去。如下:

使用 git status 查看那些文件在暂存区里 123.txt 就是我们新加入的文件 未加入的文件为 .idea/ main.py

使用git add --all 可以把所有修改过的文件都放入暂存区

但在使用之前需要加上限制条件,避免出问题

vim .gitignore 新建文件 .gitignore 按 i 进入 esc + :wq退出

.idea/ 以他结尾的不要提交

*.pyc 以他结尾的不要提交

第二步:用命令 git commit告诉Git,把文件提交到仓库。

直接使用该命令会跳出这个界面 用来记录该文件的版本信息,按 i 进入 :wq 退出

 如果不想进入界面编辑 使用 git commit -m "版本信息" 

 使用 git log 查看提交的版本信息 

commit 后面的是版本号

但是我现在继续来改下123.txt内容,继续使用git status来查看下结果

 上面的命令告诉我们 123.txt文件已被修改,但是未被提交的修改。

接下来我想看下123.txt文件到底改了什么内容,如何查看呢?

可以使用如下命令:git diff 123.txt 或者 git log -p 如下:

三:版本回退:

现在我已经对readme.txt文件做了三次修改了,那么我现在想查看下历史记录,如何查呢?我们现在可以使用命令 git log 演示如下所示:

 

git log 命令显示从最近到最远的显示日志

现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?

git reset +前版本版本号 --hard

 使用给git log 查看信息

但是现在我想回退到最新的版本,我们可以通过版本号回退,使用命令git reflog方法如下:

使用 git reset +前版本版本号(黄字) --hard 回滚版本

 使用给git log 查看信息就可以看到成功回滚到最新版本

四:远程仓库。在了解之前,先注册github账号

git remote add origin https://gitee.com/Song12138/cjh 重命名网址为origin

git remote remove origin 删除重命名

git remote -v 查看映射关系

git push origin master 把本地master分支文件上传到仓库

git pull origin master 将线上的master分支文件拉取下来

进入自己的仓库点击 pull request 从自己的仓库上传到公共仓库

 

五:git 仓库克隆

标签:文件,git,一文,版本,使用,txt,log
来源: https://blog.csdn.net/weixin_46363726/article/details/122752610

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有