git-基本使用

#something about git
//命令格式解读:[]可选、<>必要
1.git配置信息
    (https://www.runoob.com/git/git-install-setup.html)
    系统级配置信息(/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。)
        git config --system         
    用户级配置信息(~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。)
        git config --global         
    项目级配置信息(当前项目的 Git 目录中的配置文件,也就是工作目录中的 .git/config 文件。这里的配置仅仅针对当前项目有效。)
        git config 
    (每一个级别的配置都会覆盖上层的相同配置,如: .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。)
    
2.三个区的基本概念
    (runoob.com/git/git-workspace-index-repo.html)
    工作区:
    暂存区(index,.git目录下的index)
    版本库(objects,.git目录下的objects目录)
    工作区<--->暂存区<--->版本库 
    
3.基本使用
    创建仓库
        git init [depository name]
    克隆已有仓库
        git clone <depository> [directory]    
        
    将工作区的变动(新增,修改,删除操作)提交到暂存区
        git add <file or directory>   //添加指定文件或目录到暂存区
        git add .    //将当前目录下的所有数据添加到暂存区 --- 推举            
    查看工作区与暂存区之间的变动情况
        git status   //信息统览
        git status -s //信息简要 --- 推举
    查看工作区与暂存区的变动详情
        git diff //工作区与暂存区的变动详情
        git diff --stat //工作区与暂存区的变动简要
        git diff --cached  //查看缓存区的变动情况(这是与最初从版本库下载下来时的状态进行比较)        
        git diff HEAD    
    删除操作(工作区删除操作、暂存区删除操作、)
        git rm <filepath> //删除工作区和暂存区的指定文件,必须是工作区与暂存区都存在,且两者没有不同的对象
        git rm --cached <filepath> //删除暂存区的指定文件,不会删除工作区的对应文件
        git rm -f <filepath> //删除工作区和暂存区的指定文件,强制删除
        git rm -r <directory> //删除工作区和暂存区的指定目录
    移动or重命名操作
        git mv <source> <target>
        git mv <oldFileName> <newFileName>
    将缓存区的内容恢复到工作区
        git checkout <要恢复的指定文件>
        git checkout .   //恢复所有内容
    恢复暂存区的状态,HEAD代表的是最新同步远程仓库的暂存区状态,可以指定filepath来只还原单个文件
        git reset HEAD [filepath]    
    将暂存区的变动提交到仓库(版本库),只是提交到本地版本库,如果要同步到远程仓库,需要使用push命令
        git commit
        git commit -m '对本次提交的说明'    //--- 推举
        
    添加一个远程仓库及其对应别名
        git remote add <别名> <远程仓库地址>
    删除指定远程仓库的别名
        git remote rm <远程仓库的别名>
    查看当前配置有哪些远程仓库
        git remote
        git remote -v  //显示仓库别名对应的地址    --- 推举    
    本地创建分支
        git branch <branch name>
        git checkout -b <branch name>  //创建分支并且切换到该分支
    查看本地分支
        git branch 
    切换本地分支
        git checkout <branch name>
    删除本地分支
        git branch -d <branch name>
    合并本地分支,将指定分支合并到当前分支
        git merge <branch name>
    给远程仓库创建一个分支
        git push <远程仓库的别名> <本地分支,也是要在远程创建的分支>
        
    查看提交历史
        git log  //历史详情
        git log --oneline  //历史简要 --- 推举
        git log --graph   //项目开发历史,带拓扑图
        git log --reverse
        git log --author=<user.name>  //查看指定用户的提交日志
        
    给某个版本打标签
        git tag -a <标签内容> [指定的版本号,默认不填的话是当前最新版本号]
    查看已有版本
        git tag 
                
    生成SSH Key
        ssh-keygen -t rsa -C '在GitHub上注册的邮箱'
    将SSH Key添加到github上
        (https://www.runoob.com/git/git-remote-repo.html)
    从远程仓库获取指定分支的数据,并合并(这里可以通过--allow-unrelated-histories参数来实现,初始化时合并两个不相关的仓库)
        git pull <远程仓库别名> <分支>  --allow-unrelated-histories
    将本地仓库的当前分支推送到远程仓库的指定分支
        git push <远程仓库别名> <分支>
    从远程仓库下载指定分支的最新数据
        git fetch <远程仓库别名> <分支>
    将指定分支的数据合并到当前分支
        git merge <远程仓库别名>/<分支>
    
        
    
    
#上传本地项目到远程仓库(项目的初始化提交)
    //如果当前项目不是git项目,将当前项目初始化为git项目
    git init 
    //先将本地项目添加到当前项目的暂存区
    git add .
    //将暂存区的数据提交到当前项目的版本库
    git commit -m 'some description about this commit'
    //创建一个远程仓库的别名
    git remote add origin <远程仓库地址>   //origin 是一个别名,也可以取其它名称
    //将远程仓库的指定分支与本地仓库的当前分支进行合并
    git pull origin master  //初次提交可能会报错,可以尝试添加--allow-unrelated-histories参数,以进行强制合并
    //将当前分支提交到远程仓库的指定分支
    git push origin master 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值