Git 版本控制的基本使用教程

1、 Git下载以及安装步骤

访问后面这个链接下载对应平台安装包即可,这一步骤比较简单,程序员基本都能做到 

Git 官网


2、 基础命令

git init
    初始化当前目录为一个git仓库,会在当前目录下创建一个.git文件夹

git status
    查看文件夹下所有文件在版本库、暂存区、工作区等状态

    四种状态
    Committed:已处于暂存状态
    Staged:已修改文件添加到了暂存区
    Modified:暂存区文件修改但是还没有添加到版本库
    Untracked:文件未添加到暂存区中

    三层结构
    working directory 工作区 - 编写状态
    staging index 暂存区 - 提交到本地
    git directory (Repository) 版本库 - 提交后 = commit 之后

git add
    git add .    添加该文件下的所有文件到暂存区
    git add index.html    只添加该文件到暂存区

git config (git 环境配置)
    git config --global user.name 你的名字
    git config --global user.email 你的邮箱
    git config --list (查看git 的配置详细信息)

git commit -m "一句英文解释这次提交到本地的版本库的说明、解释、修改了什么"

git commit -am "一次性提交文件到本地的版本库中"   =>   将两个命令和在一起了
    相当于 git add . 和 git commit -m "" 

git log
    查看git 提交日志

git log --oneline
    只查看所有版本库号和commit 后面的说明

git remote add 简短名称  ssh://root:ip地址/路径
    给远程地址重名一个短的名称    
git remote -v
    查看添加的远程仓库
git remote rename oldname newname


3、 撤销操作

git commit --amend
    撤销上一次的提交,然后再次重新提交,可以修改上次提交到版本库的说明信息
    也就是相当于重新提交暂存区的内容到版本库
    也就是可以修改上次版本库的描述说明信息,其他内容都不变

git checkout -- 文件名
    可以从暂存区中恢复某个文件到工作区
    如果文件名是.则表示恢复全部文件

git reset HEAD 文件名
    如果文件已经提交到版本库中,那么这个命令就是从版本库中拉回到暂存区,工作区的内容不变
    也就是把这个文件在暂存区中恢复到版本库的上一个版本
    HEAD = 最新提交版本的版本库号,当然这个HEAD也可以换成某一个版本号来恢复
git reset --hard 版本号     工作区、暂存区、版本库都返回到指定版本
git reset --mixed 版本号    暂存区、版本库都返回到指定版本
git reset --soft 版本号     版本库返回到指定版本


4、 文件删除

git rm 文件名
    删除工作区和暂存区对应的文件,两个文件必须都是一样的,未修改过的

git rm --cached 文件
    删除暂存区的文件

git rm -f 文件
    删除暂存区和工作区的文件,无论一致不一致

git mv 旧文件名 新文件名
    修改了工作区文件名称,并提交到了暂存区
    也就是先修改了文件名,然后使用了git add .


5、 分支

git branch
    查看git 的所有分支
    * master (* 代表当前的分支)

git branch 分支名
    创建新的分支,版本库和现有的分支是一样的

git branch -b 分支名
    创建新分支并切换到该分支

git checkout 分支名
    切换分支

git branch -d 分支名
    删除某个分支,但是不能删除当前正在所处于的分支
    删除前要切换到其他分支

git push origin :远程分支名  (origin 后面有空格)
    删除远程分支

git branch -m 旧分支名 新分支名
    重命名某个分支

指针相关

未切换分支

切换分支

git merge 分支名
    将当前所在分支和指定分支合并
   如果两个版本有不同的文件,git会提醒,需要手动查看不同的文件修改

git diff
    比较工作区和暂存区的差别
git diff --staged
    比较暂存区和版本库的差别
git diff 版本号 版本号
    比较两个版本库之间的差别
git diff 分支名 分支名
    比较两个分支之间的差别

git stash
git stash list
git stash aplly stash@{0}
git stash pop stash@{1}
git stash drop stash@{0}
    用的比较少


6、 远程仓库的搭建(github) - 上

模型
    管理员push提交    pull/fetch下载更新        远程仓库        其他用户clone下载    push提交


git fetch origin master 相当于是从远程获取最新版本到本地,不会自动merge(更安全)
git pull  origin master 从远程获取最新版本并merge到本地,会merge

git push   github远程地址     分支名
git push   remote的简称       分支名
    提交到远程服务器,提交到哪一个分支下

ssh-keygen
    如果连接是用ssh方式,就需要创建秘钥
    生成的默认路径是在C盘我的文档中.ssh文件夹,其中文件type是PUB File表示公钥文件


7、 远程仓库的搭建(自己服务器搭建github) - 下

git init --bare
    创建一个初始化的裸露仓库

ssh 免密登陆
    ssh-copy-id  root@IP地址
        将本地的公钥复制到远程服务器上

git fetch 远程 分支名
     命令用于从另一个存储库下载对象和引用。


8、 git help文档介绍

.gitignore
    忽略哪些文件上传
    规则:
        * 匹配0或多个任意字符
        [abc] 匹配任何一个列在方括号中的字符
        ? 匹配一个任意字符
        [0-9]、[a-z] 匹配范围


git help 命令



结束

文章内容是看了视频后做的笔记,初次上传,有什么纰漏还望大家指正。
1、原视频链接 - 视频连接
2、其他优秀的Git学习参考文档 - 参考文档



猜你喜欢

转载自blog.csdn.net/yihaiweiyi/article/details/78088615
今日推荐