• git日常使用整理


    注册使用gitlab新用户

    在gitlab注册完账号后,创建项目,会有如下提示

    点击add an SSHkey 现实如下:

    点击generate it,按照提示计算ssh key

    把结果粘贴到gitlab添加到ssh key 的位置,如下

     回到创建的项目位置,根据页面提示,配置账号信息,拉取代码.如下图

    这样可以正常使用,下面开始了解练习。

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

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

          修改文件,add 加入暂存区,commit 提交到git数据库,这样就不怕丢失版本.盗图一张如下。

    1.数据提交

     mkdir local

    cd  local

    #将已存在目录初始化成git管理工作目录

    git init

    编辑文件

    echo "Initialization Git repository" > readme.txt

    添加指定文件到暂缓区

    git add readme.txt

    git commit -m "描述"

    没修改后要先加入到暂缓区在提交,即  修改1 >git  add > 修改2 > git  add  > commit 或者 git commit  -a

    git status 查看文件状态

    比较当前文件和版本库的差别

    git diff readme.txt 

    可以用 工作目录/.gitignore 文件来排除不需要提交的文件,这样就可以用 git add . 来添加目录下的所有改过的文件到暂缓区

    //忽略所有以.a为后缀的文件。
    *.a
    //但是lib.a这个文件除外,依然会被提交。
    !lib.a
    //忽略build目录内的所有文件。
    build/
    //忽略build目录内以txt为后缀的文件。
    build/*.txt
    //指定忽略名字为git.c的文件。
    git.c

    如果确定文件修改,可以加 -a 参数跳过add 步骤git commit -a -m "Modified描2.移除文件

    git add . 加入暂缓区
    从暂缓区移除指定文件,工作目录中并未删除文件
    git rm --cached 文件名
    直接强制删除工作目录文件及缓存区文件
    git rm -f 文件名

    3.移动改名文件

    把 文件名 a改成 b 查看状态会有rename操作
    git mv a.txt b.txt
    或者 直接把 a.txt 改成 c.txt 然后删除 a.txt 在添加add c.txt 到暂缓区 提交

    3.历史记录

    显示出每次提交的历史记录
    git log
    只查看最近2次历史
    git log -2
    -p参数 展示最近一次提交的数据差异
    git log -p -1
    --pretty参数,根据不同参数展示显示格式
    git log --pretty=oneline

    4.还原版本数据

    git log --pretty=oneline
    看到如下版本
    fd3d78a6a0b76df7f5785623ecdb0ad9999f10ab 新版本
    d19240ec7eb31a7abf20992416e6a509c84e703a 上版本
    778c5bc7b96f2d7494396fd98b89bd5899a315d0 老版本
    还原到以前老版本
    git reset --hard 版本号
    在当前版本下,查看未来版本记录
    git reflog
    在还原到相对当前版本的未来版本
    git reset --hard 版本号

    checkout 还原某个文件内容
    当我们改动一个文件很多地方,发现更改错了,手动删除太麻烦,可以从暂缓区还原
    git checkout -- 文件名
    checkou规则是如果暂存区中有该文件,则直接从暂存区恢复,如果暂存区没有该文件,则将还原成最近一次文件提交时的快照

    5.添加标签

    给大版本打标签
    git tag -a "v1.0" -m "标签描述" 版本号(默认是当前版本)
    查看所有已有标签
    git tag
    查看指定标签内容
    git show v.10(标签名)
    删除标签
    git tag -d v1.0

    6.创建分支

    创建分支demo
    git branch demo
    切换demo分支
    git checkout demo
    修改文件
    echo "222" >> a.txt
    git commit -a -m "分支提交"
    查看分支列表
    git branch
    切换主分支
    git checkout master
    合并分支demo
    git merge demo
    查看内容确认后,删除demo分支
    git branch -d demo

    7.分支冲突解决

    2个分支改动同一个文件
    合并时不能快速自动合并,会提示冲突,需要手动解决
    git checkout master
    git merge demo 报告文件冲突
    vi a.txt 查看冲突内容
    Git用< <<<<<<,=======,>>>>>>>分割开了各个分支冲突的内容,我们需要手工的删除这些符号,并将内容改正确在提交。
    修改冲突提交完成
    查看合并线
    git log --graph --pretty=oneline --abbrev-commit
    放心删除分支demo
    git branch -d demo

    从远程git服务下载代码
    git clone git@192.168.1.22:username/boot.git
    修改完成后提交到远程
    git push origin

    参考 https://www.linuxprobe.com/chapter-21.html
  • 相关阅读:
    Python动态生成方法
    aid learning安装python
    Pic Go使用阿里云OSS搭建图床
    QSqlQuery、QSqlQueryModel、QSqlTableModel的区别
    python文件上传错误“Required request part 'xxx' is not present”
    【已解决】执行yum命令失败:error: rpmdb: BDB0113 Thread/process 16978/139878363277376 failed: BDB1507 Thread died in Berkeley DB library
    C# DataTable Select用法
    Error in event handler: SyntaxError: Unexpected token '<'
    Lodash 两个数组合并-排重
    forEach,map,filter,find,some,every区别
  • 原文地址:https://www.cnblogs.com/wangrq/p/10126104.html
Copyright © 2020-2023  润新知