参考文献:
廖雪峰老师 git详解地址:
实战git的地址(里面还有很形象的git分支解释)
https://learngitbranching.js.org/?demo
我这个 git教程 主要用途:
1快速学习 使用
2在忘记使用步骤的时候回来方便查看一下
教程开始:
第一步:安装
windows版本: https://git-scm.com/downloads 下载这里面的安装文件直接安装即可
输入名字和邮箱:
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
第二步:创建版本库
mkdir 文件名 cd 文件名 pwd 显示当前所在路径 git init 创建为.git的仓库
第三步:开始放入文件
commit 多个文件 $ git add file1.txt $ git add file2.txt file3.txt $ git commit -m "add 3 files." 当你修改了文件: 需要重复上述步骤: $ git diff 修改的文件名 查看一下自己修改了什么 (仅限于工作区修改的内容比较 和 上一次commit 前工作区之间的变化 add之后就不行了) $ git add 修改的文件名 添加到工作区 $ git commit -m '修改信息' 添加到树 中间可以使用git status 一直观察现在工作区 和 树目前的状态 到这里为止你可以从0开始放文件到git的管理中去了。(git就是用来做文件版本管理的)
版本控制
第四步:多次提交 回滚版本
如果多次修改提交会有多个 commit版本 那么这个时候需要用git log 来看每一版本都改了什么 $ git log 这个打印出具体作者和时间 $ git log --pretty=oneline 只一行只有版本号和 message (-m) 回滚: git 中 HEAD(指针) 表示当前版本 / HEAD^ 表示上一个版本 / HEAD^^ 上两个版本 /HEAD~100 上一百个版本 使用 git reset 进行回滚 $ git --hard HEAD^ 指定版本回滚: 回滚之后 git log 会发现最开始的版本就没有了。 此时如果没有reset(右键git bash 可以reset 命令行), 可以根据版本号回到开始的版本()版本号写前几位就行 $ git reset --hard 1094a 如果找不到版本号 了怎么办? $ git reflog 可以看到每一次你输入命令时的一个版本号
第五步:管理修改
用下面的命令进行查看 将 本地工作区和分支树上做对比 目前看来和diff 一样 这个就是指定了对比哪个文件了 $ git diff HEAD -- readme.txt 撤回修改 $ git checkout -- readme.txt 1 没有add : 的时候 可以丢弃工作区的修改(不管你这次修改了多少只要没有commit 都会回到最开始和上一次你commit之前的状态): 2 已经add了:在使用这个命令的时候,则是把工作区里面的还原成和add缓存区里面的一样 缓存区撤回到工作区 $ git reset HEAD readme.txt 到工作区就可以通过 撤回修改 回到 没修改之前了 删除文件: $ rm test.txt 下一步就会让你确认 $ git rm test.txt 然后 $ git commit -m "remove test.txt" 这样就删除了文件 (回想如果不想这么做了怎么办。如果已经commit了怎么回滚版本)
第六步 : 远程仓库
第一步:本地git关联到github 1 创建一个用于和github连接的ssh key $ ssh-keygen -t rsa -C "youremail@example.com" 成功了就会在用户目录里 (user/baibing...)找到 .ssh 目录 id_rsa 为私钥 id_rsa.pub 为公钥 2 打开github 在 account settings 里面的 ssh keys 页面 点击 add ssh key 把 id_rsa.pub 里面的所有内容粘贴进去 这样你就把本地git和github之间的通信打开了。 可以添加多个key,每一台机子都需要有个关联的key) 第二步:(从本地推送一个库到github)创建一个远程库 添加一个新库 1 github 上Create a new repo 将本地的库和github库关联到一起 2 $ git remote add origin git@github.com:你的用户名/你的库名.git 远程库默认名字就是 origin git 的默认叫法 第一次推送到远程库 3 git push -u origin master 以后推送直接 4 git push 从 github clone一个库到本地: $git clone git@github.com:AJbing/homepc.git
第七步:分支管理
为什么要用分支?当你需要协同合作的时候就需要用到分支 思路:假设现在有两条线 1 dev 2 master 可以在dev上一直开发到完成的时候, 将master线的指针直接指向最后的dev版本上去(合并分支到主线), 然后删掉dev分支就可以了 具体流程: 1 在保证你的git环境有文件的情况下(否则会出bug找不到分支) $ git checkout -b dev(分支名字) 创建并指向 dev 分支 2 $ git branch 查看当前是哪个分支 3 在分支上做文件的修改然后 进行正常的 add commit $ git add readme.txt 4 $ git checkout master切换到master(此时主线上没有任何修改) 5 $ git merge dev (将dev分支合并到master上) 6 $ git branch -d dev (删除dev分支)可以git branch 一下看是否删除
还有:关于解决分支冲突的 和一个 如果想临时起一个分支解决一点bug问题的,请直接看廖老师的详解,不然会比较迷茫。
热门评论
通过学习这里的Git让我掌握了基本的Git操作,可以应对一些工作的场景了