趣文网 > 作文大全

git 基本操作教程

2020-12-06 08:05:01
相关推荐

前沿:

1. 本文是学习廖雪峰git教程时的一些笔记,大家想看详细版请阅读廖雪峰git教程2.本文中使用到的系统版本为windows10

一. 安装git

下载安装程序 →国内镜像安装安装完成,在开始菜单中打开Git --> Git Bash在打开的窗口中输入配置信息$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"二. 创建版本库

相关知识点:此处用到一些命令行语句mkdir git→创建一个名字为git的文件夹;cd git→进入git文件夹 pwd→查看当前所在位置

创建gitlearn文件夹作为版本库保存地址(请确保地址没有中文)$ mkdir gitlearn$ cd gitlearn$ pwd /Users/michael/gitlearn初始化版本库$ git initInitialized empty Git repository in /Users/michael/gitlearn/.git/三. 版本库文件的增删改查与版本选择

相关知识点:1. 工作区:当前的gitlearn文件夹即为一个工作区2. 版本库:gitlearn文件夹中隐藏的.git 目录为版本库(其不算工作区的内容)3. 暂存区:.git目录里面的stage文件(或者时index文件)4. 暂存区存放的时add命令添加的文件,通过commit命令提交更改后,暂存区的内容就被提交到当前分支

新增文件将文件放入gitlearn文件夹下(一定要是这个文件夹下,不然git会找不到文件)两种方法将编辑好的文件直接放入gitlearn文件夹下使用vim readme.txt 创建一个readme.txt文件并可以直接编辑文本内容,编辑完成后按esc,:,然后键入wq即可保存文件并跳出vim模式进入ex模式使用git add命令$ git add readme.txt使用git commit命令$ git commit -m "wrote a readmw file" /*-m 后面输入的是本次提交的说明*/如果希望一次性添加多个文件可以使用以下命令$ git add file1.txt$ git add file2.txt file3.txt$ git commit -m "add 3 files."文件修改 需要git add和git commit命令,与添加文件操作一样文件查询/*相关命令*/git status -->仓库当前的状态git diff -->当前版本与上次提交的版本之间的不同git log -->历史提交版本信息git reflog -->历史版本操作记录文件删除使用git rm命令(或者直接在工作区中将文件删除)$ git rm readme.txt使用git commit命令$ git commit -m "remove readme.txt"撤销修改还未add的修改撤销(需要撤销修改的文件还没有放到暂存区)/*撤销`readme.txt`的修改(-- 很重要,而且前后都要有空格)*/$ git checkout -- readme.txt已经add但是还没有commit的修改撤销/*将暂存区对readme.txt的修改退回到工作区*/$ git reset HEAD readme.txt/*撤销工作区中`readme.txt`的修改*/$ git checkout -- readme.txt已经commit的修改撤销(提交到本地库)/*退回到上个版本*/$ git reset --hard HEAD^已经推送到远程版本库无法在本地撤销!!!版本选择$ git reset --hard HEAD^ →退回上个版本$git reset --hard 1094a →退回到版本号中带有1094a的版本(通常都是版本号前几位数字)四. 远程版本库

创建远程版本库的目的是为了备份,同时充当主机服务器的作用

创建(使用github作为远程仓库)创建SSH key(使用Git Bash)/*使用以下命令然后一路回车(默认无密码)*/$ ssh-keygen -t rsa -C "youremail@example.com"以上操作成功后,在用户主目录里面找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人登录github,打开“Account settings”,“SSH Keys”页面;点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容;然后点击“Add Key”,完成!将本地库推送到远程库创建新git库登录github,Create a new repository复制git库SSH地址 git@github.com:kyle-yangkai/gitlearnning.git(也可以使用https地址)然后输入命令$ git remote add origin git@github.com:kyle-yangkai/gitlearnning.git将本地库所有内容推送到远程库中$ git push -u origin master /*-u只需要第一次推送的时候使用 如果要推送到远程的dev分支就将master换成dev*/新建远程分支 $ git push origin <当前分支>:<新分支名>删除远程分支(两种方法)$ git push origin : →推送空分支到远程分支$ git push origin --delete →直接删除远程分支取消远程连接$ git remote remove origin从远程库克隆到本地库$ git clone git@github.com:kyle-yangkai/gitlearnning.git五. 分支管理一次完整的分支操作 /*相关命令*/ $ git branch -->查看分支 $ git branch -d -->删除分支 (如果没有合并过请使用 -D 强制删除) $ cat readme.txt --> 查看readme.txt中的内容 $ git branch -->创建分支 $ git checkout -->切换到分支 $ git checkout -b --> 创建 并切换分支 $ git merge --no--ff --> 合并分支到当前分支( --no--ff 为普通模式合并,不加该参数则为快速合并, 历史没有该合并记录) $ git branch -d --> 删除分支创建分支/*git checkou 命令加上 -b 表示创建并切换 相当于$ git branch dev, git checkout dev这两条命令 */$ git checkout -b dev修改分支内容并提交(同上面版本库文件修改步骤)切换回master分支并将dev分支的内同合并到master上$ git merge dev删除dev分支$ git branch -d dev注意:1. 各分支之间其实没有任何差别,任何分支都可以称为主分支,我们一般默认master分支为主分支,最终版本都会合并到master分支中2. 如果两个分支在同一个文件中都做了不同的修改,那么此时合并操作不会完成,我们需要手动修改该文件,通过$ git status查询冲突文件,然后通过$ cat 查看冲突内容,修改完成后再进行合并操作bug分支处理 /*相关命令*/ $ git stash-->保存当前还未提交的工作状态,恢复到最近一次提交的状态 $ git stash list --> 查看当前stash保存的状态列表 $ git stash apply --> 恢复上次stash保存的状态 $ git stash pop -->恢复上次stash保存的状态并删除该次stash状态 $ git stash drop --> 删除上次保存的状态 $ git merge --no-ff --> 合并分支到当前分支( --no-ff 为普通模式合并,不加该参数则为快速合并, 历史没有该合并记录) $ git branch -d --> 删除分支使用git add -A暂存当前dev分支新修改和新增的还不能提交的内容使用git stash保存当前状态确定需要修复的分支,如果是maste分支,先返回到master分支创建issue-001分支,完成修复不过的代码提交通过master合并完成bug修复返回dev分支通过$ git stash apply恢复之前的状态,急需工作六. 标签管理创建标签$ git tag v1.0 → 给当前分支打标签v1.0 该标签默认搭载最新提交的commit上面$ git tag v0.9 f24sweq →给commit id是f24sweq的提交打上标签v0.9$ git tag -a v0.1 -m "explain" f24sweq →-a为标签名 -m为说明文字查看标签$ git show v0.1 →查看该标签的说明文字操作标签本地标签操作远程标签操作$ git push origin v1.0 →将v1.0标签推送到远程$ git push origin --tags →推送所有本地标签到远程$ git push origin :refs/tags/v0.9 → 删除远程v0.9标签七. 自定义Git$ git tag -d v0.1 →删除本地v0.1标签忽略特殊文件配置别名全局配置 $ git config --global alias.<自定义命令> 例子→$ git config --global alias.ci commit当前仓库配置 → 每个仓库的Git配置文件都放在.git/config文件中,在该文件中加上以下内容[alias]co = checkoutci = commitbr = branchst = status

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

美食作文怎么写 季节的作文 优秀600字作文 的智慧作文 观后感的作文 早晨作文 济南作文 环境英语作文 生活作文800字 锻炼作文 作文素材800字 作文星空 走过作文 背后的作文 写猫作文 悟空作文 看书作文 作文相伴 作文难忘的事 相信作文 哭了作文 特色美食作文 大树作文 天气的作文 优秀高中作文 英语五年级作文 英语作文100 外婆的作文 付出作文 家庭英语作文