Git-版本控制管理器简单操作

1、git环境配置与安装

1、设置用户信息
    git config --global user.name "username"
    git config --global user.email "email"

2、打开用户目录,创建.bashrc文件
    touch ~/.bashrc

3、在.bashrc里面输入以下内容,相当于给指令取别名
    # 用于输出git提交日志
    alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
    # 用于输出当前目录所有文件以及基本信息
    alias ll='ls -al'

4、解决gitBash乱码的问题(输入汉字的时候,新版已解决)
    1、打开GitBash执行以下指令
        git config --global core.quotepath false
    2、在${git_home}/etc/bash.bashrc 文件最后加入下面两行, ({git_home}:git的安装目录)
        export LANG="zh_CN.UTF-8"
        export LC_ALL="zh_CN.UTF-8"

5、如果一些文件不需要git版本控制管理,通过以下方式
    1、touch .gitignore
    2、vi .gitignore  : 编辑文件
    3、*.txt : 输入后表示所有以 txt 文件结尾的不需要管理

2、获取本地仓库/Linux常用指令

1、git init : 初始化当前目录为一个git仓库

2、ll : 初始化当前目录后会多出一个.git 的文件夹

3、touch <file> : 在当前目录创建一个文件

4、cat <file> : 查看当前目录的一个文件

5、vi <file> : 打开编辑器,编辑一个文件
    :wq -> 退出保存编辑

6、clear : 清空屏幕文字

7、rm <file | dir>  : 删除文件

8、mv <file | dir> <file | dir>  : 修改文件名称

9、mkdir <dirName> : 创建文件夹

3、git常用指令

git工作目录下对于文件的修改(增加,删除,更新)会存在以下几种状态,这些
修改会随着我们执行git指令而发生变化

仓库(repository): 修改记录到仓库就成了一次提交记录
暂存区(index): 提交到仓库之前的缓存区(staged)
工作区(workspace): 未暂存(unstaged) 或者 未跟踪(untracked)

1、git add 文件名.文件类型  : (工作区 -> 暂存区)/或者使用通配符号 . 表示所有文件

2、git commit -m "这里写上注释,只是方便查看"  : (暂存区 -> 本地仓库)

3、git status : 查看当前文件的状态

4、git log [option]: 可以查看提交记录,或者是提交到哪一个地方, 或者是看仓库里面有那些
    options:
        --all 显示所有分支
        --pretty=oneline 将提交信息显示到一行
        --abbrev-commit 使输出的commitid更加简短
        --graph 以图的形式显示输出

5、git reset --hard commitID : 版本切换, 可以实现版本回退
    commitID 可以使用 git-log 或 git log 指令查看

6、git reflog : 将所有的操作都记录下来,相当于就是一个记录历史记录的文件

4、git分支常用指令

版本控制系统都是以某种形式来支持分支的,使用分支意味着
可以把你的工作从主线程中分离出来进行重大的bug修改,开发新的功能,
以免影响主线程的开发,就是分离式开发,分支就像两个子文件夹;
例如现在有两个分支,一个分支名称为master,第二个分支名称为dev
那么当切换到master分支的时候是看不到dev分支下的文件的,即使打开
windows的git下文件的目录也不行,切换分支后,该目录下的相应的
文件也会发生变化,变为被切换的分支下的文件

1、查看本地分支
    git branch

2、创建分支
    git branch 分支名

3、*切换分支
    git checkout 分支名
    我们还可以创建并且直接切换到该分支
    git checkout -b 分支名

4、*合并分支
    HEAD -> 指向谁,表示当前就在哪一个分支
    一个分支上的提交可以合并到另一个分支
    git merge 分支名

5、删除分支,不能删除当前分支,只能删除其他分支
    git branch -d

5、解决冲突

两个分支上对文件的修改可能会存在冲突,例如同时修改了
文件的同一行,这是需要手动解决冲突,方法如下:
1、处理文件中冲突的地方
2、将解决完冲突的文件放入暂存区(add)
3、提交到仓库 commit

6、分支使用流程

1、master 生产分支:线上分支
    中小规模项目作为线上运行对应的分支

2、develop开发分支
    开发新功能都需要在这个分支上开发,所有的代码都需要提交到该分支
    这个分支是固定的不会删除的分支

7、远程仓库

前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借
助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。
gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一
的版本库格式进行托管,故名gitHub
码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云
速度会更快
GitLab (地址: https://about.git1ab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工
具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。

1、要想使用码云的相关服务,需要注册账号(地址:https://gitee.com/signup )

2、点击右上角头像旁边的+号,新建一个仓库,

3、创建号仓库后,会出现快速设置的界面,暂时不用管

4、ssh-keygen -t rsa, 执行命令,生成非对称密钥, 然后什么都不管,直接回车就行

5、查看公钥:cat ~/.ssh/id_rsa.pub

6、将公钥全部复制,然后回到浏览器,打开用户(鼠标放在右上角用户头像上),打开设置,找到ssh公钥,
    然后将复制的公钥填入,标题不用管,会自动填充

7、验证是否成功,回到gitBash,输入以下指令
    ssh -T git@gitee.com
    然后就会提示你是第一次访问这个地方,输入 yes 就可以了

8、回到 快速设置的界面 ,然后复制远程仓库地址ssh origin表示给仓库起的名字,后面接的是仓库的地址
    git remote add origin https://gitee.com/alextom/git_test.git

9、git remote  : 可以查看有那些远程仓库

10、git push origin master : 将master分支里面的代码推送到origin仓库里面
    第一次会要求输入码云的账号密码进行验证
    git push origin master:master   -> 将本地的master推送到远端也叫master分支
    git push [-f] [--set-upstream]   -> -f 表示强制force,
    git push --set-upstream origin master:master -> 把本地的master修改,同时将两边的分支绑定,下次直接推送到那个分支
    执行完上面的命令后,下次直接使用 git push 就可以了

11、git branch -vv -> 查看本地和远程的分支绑定[-vv]:显示详细信息

8、克隆clone

1、从远端将仓库拉到本地
    git clone 克隆网址或其他地址 克隆后取的文件夹名称
    例如: git clone https://www..... my_file

9、抓取和拉取

从远程仓库中抓取和拉取
远程分支和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操
作。
抓取 命令:git fetch [remote name] [branch name]

抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
    如果不指定远端名称和分支名,则抓取所有分支。
    拉取 命令: git pull [remote name] [branch name]

拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支。

10、解决合并冲突

在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。
A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远
程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支.

在B用户拉取代码时,因为A、B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。
远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同.

11、本地生成rsa非对称密钥

alex@LAPTOP-3CQQO0QG MINGW64 ~/Desktop/test

// 进入公/私钥生成软件命令行
$ openssl.exe

// 生成私钥
OpenSSL> genrsa -out rsa_private_key.pem 2048

Generating RSA private key, 2048 bit long modulus (2 primes)
........+++++
....+++++
e is 65537 (0x010001)

// 生成公钥
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

writing RSA key

// 退出公/私钥生成软件命令行
OpenSSL>exit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值