Git基础

作者: yungege | 来源:发表于2020-05-08 20:47 被阅读0次

一、简介

  • 方便多人协同开发

  • 方便版本控制

  • 作者Linux之父:Linus Torvalds

  • git开发目的:为了辅助Linux内核的开发

  • 是Linus被逼无奈,花了2个星期用c写的

  • 2008年,GitHub网站上线,为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub

  • Git迅速成为最流行的分布式版本控制系统(没有之一)

二、Git结构

Git是分布式管理系统。服务端和客户端都有版本控制功能,都能进行代码的提交,合并,..

图一

GIT_interview

图二

work_directory_index

三、本地仓库操作

1、安装git

2、查看是否安装成功

git --version

3、创建本地仓库

  1. 创建一个文件夹用于存放项目文件(mygit)

  2. 新建本地仓库

    cd ~/mygit/
    # 初始化
    git init
    # 会创建一个.git的隐藏文件,关于版本控制的文件都存放在这里,绝对不要改动
    
  3. 配置个人信息

    # 配置全局信息
    git config --global user.name 'yun'
    git config --global user.email '570454176@qq.com'
    # 配置信息会保存在家目录下
    ~/.gitconfig
    
    # 配置本项目个人信息
    git config user.name 'yun'
    git config user.email '570454176@qq.com'
    # 配置信息存储在当前目录下的.git/config下
    

help

git add --help

调用浏览器,打开help页面

4、添加文件

在项目文件加下创建readme.md文件,输入以下内容。

1、先提交到暂存区

git add Readme.md

2、查看git状态

git status

3、提交到本地仓库

git commit -m '新建了Readme.md文件'

git commit命令的,-m参数后输入的内容是提交说明。命令执行成功后显示几个文件被改动,加了多少行。每提交一次就会生成一个版本。

5、历史版本

查看历史版本

git reflog可以查看所有分支的所有操作记录(),包含已删除的commit记录。

git log不能查看已删除的commit记录

git log
git reflog

6、版本切换

git reset --hard HEAD^

  • HEAD表示当前最新版本
  • HEAD^表示当前最新版本的前一个版本
  • HEAD^^表示当前最新版本的前两个版本,以此类推
  • HEAD~1表示当前最新版本的前一个版本
  • HEAD~8表示当前最新版本的前8个版本,以此类推

git reset --hard 版本号

当版本非常多时选择这种方法。版本号就是每次commit生成的hash值,只用取前几位数。

7、撤销修改

运行git status命令会显示当前工作区,暂存区,仓库的状态。当工作区的所有代码都提交到仓库 并和仓库保持一致时会显示:

一旦有修改,git status命令会显示改动的文件,以及你应该怎么提交这些修改。

1、撤销工作区代码

git checkout 文件名

修改文件后没有执行add,运行此命令可以撤销所有修改,一旦撤销没有后悔药哦,在确定抛弃所有修改时使用。

2、撤销暂存区的代码

# 第一步:将暂存区代码撤销到工作区
git reset HEAD 文件名
# 第二步:撤销工作区代码
git checkout 文件名

8、对比文件

  1. 对比本地仓库与工作区

    git diff HEAD -- 文件名
    
  2. 对比本地仓库上个版本代码

    git diff HEAD HEAD^ -- 文件名
    

9、文件删除

  1. 删除没有添加进版本库中的工作区中的文件

    # 直接删除不用做任何操作
    
  2. 删除已添加进工作区但没有提交的文件

    # 1.先撤回工作区
    git reset HEAD 文件名
    # 2.直接删除
    rm 文件名
    
  3. 已提交到版本库

    # 1.删除文件
    rm 文件名
    # 2.运行`git add .` 
    git add .
    # 3.提交
    git commit -m 'delete some file'
    

四、分支管理

新建仓库时默认创建master主分支

1、创建分支

git branch newbranch

切换到分支

git checkout newbranch

创建并切换到分支

git checkout -b newbranch

查看分支

git branch

2、合并分支

分支任务完成后,合并到主分支

首先切换到master分支

git checkout master

然后合并分支

git merge newbranch

3、删除分支

分支合并完之后,没有其他任务了,可以删除分支

git branch -d newbranch

五、远程仓库

github:https://gitee.com/
码云:https://github.com/

首先你需要注册一个码云的账户,然后创建一个空的仓库。这个在码云上有教程大家自行操作。

创建好仓库后,你的仓库会有两个地址,一个是https,一个是ssh。因为使用https需要输入用户名和密码,推荐使用ssh的方式。要使用ssh你需要设置你账户的ssh公钥。公钥管理

1、公钥管理

生成公钥

 ssh-keygen -t rsa -C '570454176@qq.com'

部署公钥

添加后,在终端中输入

ssh -T git@gitee.com

clone测试

2、添加远程仓库

要把本地仓库和远程仓库联系起来有两种方式:

克隆

远程仓库里已经存在项目文件,更换开发电脑,需要将项目从远程仓库clone到本地进行工作。

# 首先cd到你要存放项目的目录
cd ~/projects
# 然后运行下面的命令
git clone clone地址
eg:
git clone https://gitee.com/yun5704/12345wanwan.git

拉取

本地初始化一个仓库,设置远程仓库地址后再做拉取

和第一种方式的区别在于先创建仓库

git init # 新建仓库
git remote add origin https://gitee.com/yun5704/12345wanwan.git

3、推送到远程仓库push

git push origin master

4、拉取到本地仓库pull

git pull origin master

六、git在pycharm中的使用

1、环境配置

设置git的安装位置

点击test

允许版本控制器

选择git

查看版本控制器

创建 .gitignore文件

2、pycharm git使用

commit

07 pycharmgit使用1.png 08 pycharmgit使用2.png

一键还原修改

09 pycharmgit使用3.png

Checkout Revision

10 pycharmgit使用4.png

切换分支

11 pycharmgit使用5.png

创建分支

12 pycharmgit使用6.png 13 pycharmgit使用7.png 14 pycharmgit使用8.png

重置分支

15 pycharmgit使用9.png 16 pycharmgit使用10.png

撤销提交

17 pycharmgit使用11.png

revert

18 pycharmgit使用12.png

3、远程仓库

a、码云 gitee

搜索gitee

Search in repositories 下载

配置gitee

上传到gitee

push

pull

b、github

github配置

共享到github

push和pull与gitee类似

相关文章

  • 2.Git初步

    Git是什么 Git是什么 Git基础 Git基础 1. 下载安装Git GIT官网 安装好后,按win+R 输入...

  • Git总结

    初步 下载git 基础配置: 基础操作 获取Git仓库 初始化现有仓库 git init 克隆远程仓库 git c...

  • Git基本操作

    一、 git的基础操作 基础操作 1.在项目里创建一个git : $ git init 链接远程项目: $ git...

  • git操作

    git基础命令: git commit ---- 提交git branch newBranchName --- 新...

  • Git

    关于版本控制 Git 简史 Git 基础 安装 Git Git 前的配置

  • 2.3 Git 基础 - 查看提交记录

    提交记录git log 2.2 Git 基础 - 记录每次更新到仓库(删除和改名)2.4 Git 基础 - 撤销操...

  • 面试中的那些 Git 问题 - 基础部分

    面试中的那些 Git 问题 - 基础部分 面试中的那些 Git 问题 - 基础部分

  • 2016-06-24 阅读整理

    Git Git 基础命令Git 分支管理Git 分支合并Git 公钥提交Git 常用技巧Git 设置别名 Andr...

  • Git 系列文章

    GIT 初识 Git的基础操作 Git的远程操作 Git的分支管理 Git标签操作 Git团队协作 Git 多账户...

  • git资源学习

    git资源学习 Git详解之一 Git起步 Git详解之二 Git基础 Git详解之三 Git分支 Git详解之四...

网友评论

      本文标题:Git基础

      本文链接:https://www.haomeiwen.com/subject/eviqnhtx.html