git的安装与配置用户名,查看用户名

git

一、安装和配置

(1):Git操作原因:

    1:版本控制:就是记录若各干文件的变化,以便于查阅特定版本的修改
    2:为什么要使用git:假如你修改了项目,然后发现思路不对,只能回归到之前的时间段,于是git可以帮你轻松恢复原先的样子
        还可以查询,那个地方修改了,导致了bug的产生。
    3;版本控制
      
      01:集中式版本控制 svn 
       svn因为每一次存的都是差异,需要的硬盘空间相对来说较小,可是回滚的速度很慢     
            优点:代码存放在服务器上,便于项目管理
            缺点:
              服务器宕机:员工写的代码得不到保障
              服务器炸了:丢失整个项目的历史记录

      02:分布式版本控制系统 -git
         git每一次存的是项目的完全快照,需要的硬盘空间相对来说较大
      (只不过git团队对项目做了极致的压缩,最终使用的空间仅仅比svn多不了太多,但是git的回滚速度快)

(2):Git安装:

1:网址 — https://git-scm.com/download/win
2:双击exe安装包 一直next即可
3:检测是否安装了git – 在桌面右击 -出现git Bash here 等两个证明安装完成
注意点:直接右击点击 git Bash here --出现的终端是Linux操作系统
4:检测版本 — git --version —出现版本号,证明git装好了

(3):Git初始化和配置用户名:

1:git初始化配置: 配置直接的工作环境,配置只需要配置一次即可
01:初始化仓库:git init —对文件的备份
* 指令 : ls -a 查看是否存在 .git 文件夹
02:配置用户信息:
git config --global user.name=“用户名”
git config --global user.email=“邮箱”

配置 git账号 
git config --global user.name“xzl”  
git config --global user.email "xzl@qq.com" 
查看git账号 
git config user.name  
git config user.email
     配置后,输入检验直接的配置信息 git config --list 检测直接用户配置信息(user.email=  user.name=)

(4)git生成的.git文件的介绍

初始化配置:git init (在工作区右键,点击git Bash here 终端 来初始化) —出现.git文件(也就是版本库)
在.git文件的目录是
01:hooks: 目录包含客户端或服务端的钩子脚本
02:info:包含一个全局性排除文件
03:logs:保存日志信息
04:objects:目录存储所有数据内容
05:refs:目录存储指向数据(分支)的提交对象的指针
06:config:文件包含项目特有的配置选项
07:description:显示对仓库的描述信息
08:HEAD:文件指示目前被检出的分支
09:index:文件保存暂存区信息

二、git的操作流程

在这里插入图片描述

本地仓库的操作

  • 1:初始化仓库:
    • git init
    • 作用:就是在当前文件中,生成一个隐藏文件.git,里面用于存放备份的文件等
  • 2:把代码存储在git仓库中:
    • 01:先把文件放在git隐藏目录仓库的大门 (暂存区)
      —git add ./readme.md(readme.md —这是自己的功能代码 ./对应的文件路径)
      —git add ./ => 提交所有代码到暂存区!

    • 02:再把文件从git目标的门口拉入仓库房间 (版本库)
      — git commit -m “备注消息” (commit—提交 -m—提交代码需要备注 “备注自己这一次 提交的说明的那些功能”)

      • 注意点:看到以下结果,代表我们提交到仓库已经成功了。
        [master (root-commit) 3b67a01] 第一个功能
        1 file changed, 1 insertion(+)
        create mode 100644 readme.md
      
      • 注意点2:假如你输入的时候,忘记加了-m的时候,会进入到编辑器的界面
        按下i —就可以书写代码了
        退出:先按下esc —然后输入英文的符号 :q —若是出现红色警告的话就需要强制退出 — esc - :q! -回车
    • 03:假如我们的第二个功能已经完成了,需要在一次提交代码;
      1:git add ./文件 2:git commit -m “备注” 3:显示以下代码证明提交成功

      [master 0fbf56c] 这个时我们加的第二个功能
      1 file changed, 2 insertions(+), 1 deletion(-)      
      

操作本地服务器之拓展点

  • 1:git status —查看当前文件的状态

    • 00:On branch master —出现这两行代码,证明文件是干净的(已经提交到版本库了)
      nothing to commit, working tree clean
    • 01:modified: readme.md modified-修改了这个文件,但是还没有提交,需要提交到版本库(git commit -m “”)
    • 02:Untracked files: 无路径的文件(证明还没有添加到暂存区)
      (use “git add …” to include in what will be committed)
  • 2:git add ./ —把当前目录的文件,都添加到暂存区(.git文件)==

  • 3:git commit --all -m “这是直接从工作区提交到版本库” (不需要在添加到暂存区)==

  • 4:git log 查看日志==
    git log --oneline 查看日志 (以一段内容的形式显示每一次提交的备注)
    git reflog — 查看提交的版本

    对于版本的处理,版本回退等(注意点:最好不要使用版本回退,不然若是其他人书写了代码,你版本回退,会造成彼此的代码都回退)

  • 5:git reset --hard Head~0 (回退版本 - 0为最新的一个版本,1为距离最新版本的上一个版本)==
    假如你之前提交了以下版本
    c78ab6f 这是一次性操作
    c6f8467 这是2
    5057ce1 这个是文件2
    0fbf56c 这个时我们加的第二个功能
    3b67a01 第一个功能

      注意点1:输入 git reset --hard Head~1 
              回退到版本为:HEAD is now at c78ab6f 这是2  (证明你当前回退到了那个版本)
      注意点2:输入 git reset --hard c6f8467  也是可以根据版本号,回退到该版本(怕版本太多,数不过来)
                      回退到版本为:HEAD is now at c78ab6f 这是2  (证明你当前回退到了那个版本)
                      但是回退到该版本后,在此之前的版本号则被隐藏了。
    
  • 6:git reflog —回退的版本查询 (从下到上是最新到最旧的版本)

线上服务器的相关操作

首先先创建一个项目

链接:

然后根据你的需求,是使用http还有ssh的方式提交

这边选择的是http方式演示:

  • 01:选择你需要提交的项目起源(也就是提交到哪里,而我这边是这个)
    git remote add origin https://gitee.com/xzlwhy/git_test.git
    • 001:需要测试你提交的服务器源地址:
      git remote get-url origin 如果返回正确的地址则表示路径没有问题;
    • 002:当你路径设置错误的时候,可以重新设置回来:
      git remote set-url origin 新路径
  • 02:把本地仓库的代码push到远程的服务器
    git push -u origin master => master为默认的主分支!
    ** 强制推送 : git push -f origin master —会覆盖别人的版本,最后不要使用!**
  • 03:拉取服务器的代码
    git pull origin master

线上服务器代码更改和你提交代码后,发生冲突,解决冲突的方式

  • 假如你在线上更改了代码,还有你自己的代码添加了多一系列代码,那么你add commit push之后,会发生报错
    • 原因:就是你本地仓库的版本不是最新的,因此你需要先拉去服务器的代码下来,然后在进行解决冲突合并
To https://gitee.com/xzlwhy/git_test.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/xzlwhy/git_test.git'
  • 发现报错后,才知道本地服务器代码不是最新的版本,于是先拉取服务器的代码下来
    01: git pull origin master
    02: 拉取下来后,在你的文件之中,发生冲突的文件会以下面这种形式存在
    附图:
    解决方式:
    • 1:若是正确的代码,那么就保留彼此双方的代码 => 保留双方更改
    • 2:若是恶意代码,那么仅仅保留自己的代码即可! => 采取当前更改(就是保留自己代码)
    • 3:若是传入的代码是正确的,而你的代码是错误的,那么就选择采用传入的更改!

三:分支管理

分支分类

默认有着主分支 — master

  • 1:master => 主分支,用于发布本版
  • 2:dev => 开发分支,主要用于开发
  • 3:release => 未测试的正式版本,来源于dev
  • 4:hotfix => 紧急bug修复分支

(1):创建分支

git branch dev (dev为分支的名称) 

(2):切换分支

切换到自己创建的分支 (就是后面会显示分支的名称,比如dev,然后从分支回到主分支:把dev修改为 master)
假如你是以master主分支来创建新的分支,那么你拷贝的代码是以master的版本
假如你是以dev作为版本来创建新的分支,那么这个新的分支会以dev版本拷贝

git checkout dev  

(3):查看有多少分支

git branch

(4):合并分支

 git merge dev (merge---为合并的意思,把指定的分支合并到当前分支---就是有着*)
注意点:Updating 5995f00..e4543e0 显示这一行,代表已经更新完了。
+ 作用:在当前分支合并分支(假如你是master主分支需要合并dev分支,那么需要切换到master主分支 然后git merge dev)即可

(5):删除分支

git branch -d dev(要删除的分支名称)

注意点:就是你在分支dev做功能五的一半,然后在主分支中也完成了功能五的一半,各自提交了,然后才发现功能五没有合并在一起,
CONFLICT (content): Merge conflict in readme.md
Automatic merge failed; fix conflicts and then commit the result.
这时候合并的,会发生冲突的,造成合并失败,因此需要手动合并(需要把那些重复代码散去,并且再一次提交)。
<<<<<<< HEAD

我的功能四的代码,再加上分支就是完整的代码
=======

这是分支dev的代码1
>>>>>>> dev
所以啊:只要把其他的=== >>> dev注释等无用东西删除,再提交即可。

分支命名规范

  • 项目项目-index (login)

分支的提交

注意点:在分支操作之后,我们也是需要提交所操作的文件
git add ./
git commit -m "注释"
git push -u origin 分支名

多人开发的时候,灵活使用git

  • 第一步: 下来仓库的代码
    git clone https://gitee.com/GZ-2003/project-2003.git
  • 第二步:进入文件夹 重启gitbash工具
  • 第三步:更新本地代码后,还需要以下三个操作!
- git add -A 添加所有内容到暂存区 
- git commit -m "1的代码" 提交代码到本地仓库
- git push -u origin master 把本地仓库的代码提交到线上仓库 

四:上传服务器之(github)

(1):上传服务器的命令(GitHub)

就是代码的共享,把自己的功能代码模块上传到服务器上,然后也可以下载别人的代码到本地,运行整个项目

 git push 链接 master
      示例:git push https://github.com/xzlwhy/test.git master (push--推入 后面是服务器中https的链接 master-分支 服务器也是由分支的)

上传成功后,会在github上面显示你自己的备注和上传的代码。

git push origin master 推送

git pull origin master 拉取

(2):使用SSH的方式上传代码

公钥 和 私钥 两者是有关联的!
1:生成公钥,和私钥
ssh-keygen -t rsa -C “邮箱”
C:\Users\Administrator.ssh
自己的用户名:就是cmd输入后,发觉是盘的Administrator .ssh里面有着三个文件
2:.ssh里面有着三个文件
公钥:id_rsa.pub文件
私钥:id_rsa文件
3:设置
01:把公钥的代码复制了
02:在github的右侧,点击+旁边的那个+(带着图片) —选择里面的Setting
03:然后进入里面后,点击SSH and GPG keys
04:在点击New SSH key
05:然后把公钥复制在key框框下,给自己起一个标题 my_window 然后点击Add SSH key
4:push代码带仓库里面
git push ssh地址(就是在选择克隆或下载那个绿色框框) master

(3):模拟两个开发的注意项

就是推送和拉取相关的操作

      用户1:
        用户1自己书写了代码后,提交到本地版本库后,并且上传到服务器。

      用户2:
        用户2:从服务器上面pull,用户1的版本下来保存在本地。
        假如:用户1和用户2,各自修改了代码后,都提交到服务器,那么会造成代码的冲突啊!
        也就是(error: Your local changes to the following files would be overwritten by merge:
        index.html)
        发送冲突后,需要自己手动在冲突的文件进行修改,删除掉那些提示的信息即可!

      注意点:
        两个用户在操作的服务器的时候,(再本地添加了)需要先pull拿到服务器的最新版本,然后在push上去,因为这样的话,你pull拿到服务器最新版本后,若是与本地的文件发送冲突后,会提示你做修改,解决冲突。然后解决冲突后,再把自己修改的代码推送上去。
      在pull完后,若是进入编辑模式
      做了一些备注后,按下esc :wq  (w为保存 q为退出)

这是push和pull的简写方式
1:在本地项目中设置自己的服务器提交的起源(类似把地址设置为一个变量)
git remote add origin git@github.com:xzlwhy/text1.git
设置后,我们在当前的项目中,拉去和推送都可以这样
git pull origin master
git push origin master

2:把分支设置为关联:
git push origin -u master (关联之后,-u就是把当前分支和指定的分支进行关联。
后面直接操作— git push —直接推送到设置的origin服务器地址)

git进入到编辑状态

点击i =>进入插入状态
然后点击 esc => :wq => 就是保存和退出!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值