开发者社区> wensongyu> 正文

git 总结

简介:
+关注继续查看

1.定义:

Git不仅是一款开源的分布式版本控制系统

2.特点:

Git则是关注于文件数据整体的变化,直接会将文件提交时的数据保存成快照,而非仅记录差异内容,并且使用SHA-1加密算法保证数据的完整性。Git为了提高效率,对于没有被修改的文件,则不会重复存储,而是创建一个链接指向之前存储过的文件。

3.Git的三种重要模式,分别是已提交、已修改和已暂存:

已提交(committed):表示数据文件已经顺利提交到Git数据库中。
已修改(modified):表示数据文件已经被修改,但未被保存到Git数据库中。
已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git数据库中。

4.安装:

yum install -y git


配置个人的用户名和邮箱
git config --global user.name "wensong"
git config --global user.email "719629214@qq.com"

配置默认编辑器为vim
git config --global core.editor vim

5.命令
1.提交数据:

a.初始化, git init
b.将新建的文件添加到暂存区 git add file
c.将添加到暂存区的文件提交到本地仓库 git commit -m ‘备注’
d.查看本次修改和上次提交的文件内容的差异  git diff  readme.txt
f.添加忽略文件.gitignore 放到根目录就行
e.强制将忽略的文件添加到暂存区 git add -f git.c  
7.对当前某个文件的修改不想提交到暂存区,可以使用 git checkout readme.txt 

2.移除数据

a.将暂存区的文件删除掉,但是本地工作目录还保留着该文件git rm —cached  file.txt
 b.将暂存区/本地仓库的文件删除掉。但是本地工作目录不保留该文件。git rm -f file.txt

3.移动数据

a.修改版本库中某个文件的名字 git mv readme.txt introduction.txt
b.a的步骤也可以这样 mv readme.txt introduction.txt , git rm read.txt
  1. 查看历史记录

    1. 查看历史记录。git log
      一行显示更舒服:git log --pretty=oneline

5.还原数据

a. 还原到某个版本 
还原到上一个版本 git reset —hard head^
还原到上上一个版本 git reset —hard head^^
还原到某个版本号的版本: git reset --hard 58104b3505211c7d3ed368072132564f8c85b439
b. 查看未来的某个版本:git reflog 
 回到未来的某个版本.  git reset --hard 9ecfd50

6.标签管理

a.创建标签 git tag v1, 可以使用-m 来添加备注
b.查看所有标签  git tag
c.查看某个标签的修改  git show v1
d.删除某个标签  git tag -d v1

7.分支管理
1.创建分支, 分支之间是平行的空间

a. 查看当前分支  git branch
b. 创建分支 git branch bOne, 然后切换到该分支 git checkout bOne
c. 创建分支并且切换到该分支。git checkout -b bOne
d.删除分支,此时不能在该分支内 git branch -d bOne

2.合并分支

a. 将本地的bOne合并到master,首先我必须切换到master,git checkout master, 然后使用 git merge bOne,  确认合并成功之后,删除bOne分支  git branch -d bOne

3.内容冲突,解决冲突

  冲突的产生原因:
  两个已经提交的分支的相同文件相同位置的的不同操作进行了合并.
  避免冲突的办法: 每次提交,先合并别的分支

  冲突出现的情况如图:

a.冲突的文件内容中 =======上面的是当前分支的代码,=======下面内容是其他分支的代码,针对性的处理一下,然后重新提交到本地即可解决冲突(去掉<<<<<, >>>>>, ========, 留下你想要留下的代码,然后git add ,git commit, 确认合并之后,删除掉没用的分支git branch -d bTwo


b.查看解决冲突后的master分支情况
git log --graph --pretty=oneline. 或者git log --graph --pretty=oneline --abbrev-commit

6.部署Git服务器

1. 创建远程仓库, 这个就是最好把远端仓库初始化成bare仓库的原因
a.创建空目录,一般以.git结尾 mkdir linuxprobe.git
b.修改所属者和所属组  chown -Rf git:git linuxprobe.git, 如果没有git用户就使用useradd git 新建
c. 切换到linuxprobe.git目录, git —bare init  。这个时候远程仓库已经创建好了。

2. 克隆远程仓库  git clone, 目前使用https和ssh协议来克隆。这里测试我们使用ssh协议。
a.在另一台服务器上,先生成公钥和私钥(ssh-keygen 

),将公钥上传到服务器上(ssh-copy-id 192.168.10.10
),

b.在另一台服务器上安装git, 通过git clone root@120.27.94.168:/root/testgit/linuxprobe.git. 将仓库拉下来
c 设置本地的git config信息
        git config --global user.name "Liu Chuan"
    git config --global user.email "root@linuxprobe.com"
        git config --global core.editor vim
d.提交一个信息并推向服务器
   git add readme.txt
   git commit  -m ‘readme’
   git push origin master. 推向到服务器上 搞定

7.Github托管服务

1.可以在github中https://github.com/yuwensong 部署你的git仓库,使用https或者ssh协议进行通信都可以
   2. 查看当前的所有远程仓库 git remote
3. 新建远程仓库
git remote add linuxprobe git@github.com:K130/linuxprobe.git
4. push到远程仓库
git push -u linuxprobe master.  推送当前master分支到代码到远程仓库linuxprobe 的master分支中

1:分布式版本控制系统对比传统版本控制系统有那些优势?

答案:去中心化设计让数据更加安全,管理文件数据更加的有效率。

2:将Git工作目录中的文件提交到暂存区的命令是?

答案:git add 

3:将Git暂存区的文件上传到版本仓库的命令是?

答案:git commit

4:Git是一种非常智能的程序,它能够为我们自动解决任何分支的内容冲突情况?

答案:错误,很多时候内容冲突后需要由人来解决合并冲突。

5:为什么我们要将ssh公钥上传到Github资料中?

答案:为了让Github能够验证用户身份,从而才能顺利的管理文件数据。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14314 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
30056 0
Git命令总结
Git配置 1.设置Git的user name和email $ git config --global user.name "登陆用户名" $ git config --global user.
904 0
Git与Github的使用总结 - day 02
首先我们应该了解一个知识点:即使没有Github,我们依然可以使用Git工具在本地仓库中管理我们的项目,可以完成创建分支、合并分支等功能。 所以这里我会从以下两个方面进行阐述:使用Git工具在本地创建分支、将本地的分支上传到远程仓库中 一、使用Git工具在本地创建分支 第一步:在本地创建一个仓库,并新建好一个文件(如果这一点不会做的话,可以看我之前的一篇博客 Git与Github的使用总结 - day 01) 第二步:将本地仓库中的这个文件进行提交。
908 0
Git常用命令总结【转】
转自:http://www.cnblogs.com/mengdd/p/4153773.html 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git show # 显示某次提交的内容 git show $id git co -- # 抛弃工作区修改 git co .
930 0
[译] Android Dev Summit 2018 应用(instant app 的总结 + 开源)
创建 Android Dev Summit 应用并发布具有即时体验的应用程序包的总结。
483 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
21162 0
+关注
374
文章
5
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载