美文网首页
Git基础知识

Git基础知识

作者: Serenity那年 | 来源:发表于2018-10-28 21:32 被阅读18次
    一、命令行的演示

    1.初始化一个代码仓库

    • git init

    2.如果使用git,必须给git配置用户名和邮箱
    给当前的git仓库配置用户名和邮箱

    给git配置全局的用户名和邮箱

    备注:如果既有当前配置又有全局配置,会优先使用当前配置,如果没有当前配置,会使用全局配置;

    3.初始化项目

    • touch README.md :创建README.md
    • open README.md :打开README.md文件
    • git add README.md :将README.md 添加到暂缓区;也就是将工作区中修改过的文件或新添加的文件添加到暂缓区
    • git commit -m "描述“ :将暂缓区的所有内容提交到本地版本库,清空暂缓区
    • git add . :将在工作区的所有不在暂缓区的所有的内容添加到暂缓区;git 一般不使用星号作为通配符,一般使用点‘.’;

    注意:添加的文件或者修改的文件都要通过add命令将该文件添加到暂缓区;

    4.查看文件状态

    • git status

    备注:
    1.红色:该文件被添加或者被修改,但是没有添加到git的暂缓区
    2.绿色:该文件在在暂缓区,但是没有提交到本地版本库

    5.给命令行起别名

    • git config alias.st "status" :给查看状态的status的命令起别名
    • git config alias.ci "commit -m " :给他commit -m 起别名为ci,用的时候直接 git ci "描述“ 即可
    • git config --global alias.st "status" :全局配置status的别名

    6.删除文件

    • git rm README.md :删除README.md文件

    7.查看版本信息

    • git log :版本号是有sha1算法生成的40位哈希值,查看正常的版本信息;
    • git reflog :可以查看到所有版本回退的信息;

    8.版本回退
    一种是:本地写了东西,但是没有提交(指的是没有进行过commit命令),可以使用下面的命令直接回退;也就是放弃所有没有提交过的修改;

    • git reset --hard HEAD :回到当前版本(HEAD)就是git的指针;

    一种是:写过的东西,已经提交了,使用如下命令:

    • git reset --hard HEAD^:回到上一个版本
    • git reset --hard HEAD^^:回到shag上上个版本
    • git reset --hard HEAD~100:回到前100个版本
    • git reset --hard 版本号(前5位:重复了就6位,依次类推):回到指定的版本号(git reflog得到的版本号);

    提示:在git中,版本号是一个由SHA1生成的哈希值

    版本回退的操作顺序:
    1.git reset --hard HEAD^ :回到上一个版本(A角色)
    2.git push -f :A角色强制上传到共享版本库
    3.git reset --hard HEAD^ :回到上一个版本(B角色)
    4.git pull :B角色再拉下代码,才真正的回退
    注意:如果多人开发,想要版本真正的回退,必须合作,必须多人同时回退

    9.给log起别名

    10.git的工作区-Working directory
    仓库文件夹里除.git目录以外的内容;也就是.git的同级目录及同级目录的子目录都是git的工作区,不包裹.git目录;

    11.git版本库-Repository
    就是.git目录,用于存储记录版本信息;

    • 暂缓区-stage
    • 分支-master:git会自动创建的第一个分支就是master分支;
    • HEAD指针:用于指向当前分支;
    二 共享版本库
    • git服务器的搭建非常繁琐(Linux)
    • 可以把代码托管到github/OSChain
    • 一个文件夹
    • 一个U盘

    1.一个文件夹作为共享版本库

    • git init --bare :(看到配置里面的config文件,bare=true;且里面无.git文件夹)

    2.将共享版本库的所有内容下载到本地的一个文件夹(称为文件夹A)

    • git clone 克隆共享文件夹的地址

    3.在文件夹A中创建忽略文件----svn是先创建项目,再创建忽略文件;git是在先创建忽略文件,在初始化项目;

    • touch .gitignore :在工作区中创建此文件
    • git add .
    • git commit -m "添加.gitignore文件"

    4.创建项目
    将创建的新项目的地址放在2中项目的文件夹A

    三 现有项目 再添加版本控制

    1.先创建一个代码仓库(比如在GitHub上创建)
    2.git clone 上述创建的仓库地址 :clone远程仓库到本地文件夹A中
    3.直接把存在的项目拖到文件夹A中
    4.git add .
    5.git commit -m "描述"

    1. git push [远程主机名] [本地分支名]:[远程分支名]

    四 错误修改

    • 4.1 git pull 失败 ,提示:fatal: refusing to merge unrelated histories

    在进行git pull 时,添加一个可选项:git pull origin master --allow-unrelated-histories

    • 4.2 git中Please enter a commit message to explain why this merge is necessary,Please enter a commit message to explain why this merge is necessary.解决方案如下:

    请输入提交消息来解释为什么这种合并是必要的

    image

    git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

    1.按键盘字母 i 进入insert模式

    2.修改最上面那行黄色合并信息,可以不修改

    3.按键盘左上角"Esc"

    4.输入":wq",注意是冒号+wq,按回车键即可

    五、关联远程分支

    git remote add origin git@github.com:git_username/repository_name.git

    相关文章

      网友评论

          本文标题:Git基础知识

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