Git学习
Posted newer92
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git学习相关的知识,希望对你有一定的参考价值。
主要参考廖雪峰老师的Git教程自己整理了下,方便以后回顾。
Git是最好用的分布式版本控制系统。可以很方便的进行代码管理,修改,协作。CVS及SVN都是集中式的版本控制系统。
1.安装Git。推荐用Linux和Mac OS X.
以下是ubuntu安装
$ git //查看有没有安装,
$
sudo apt-get install git //
没有就安装一下
2.创建版本库。版本库又名仓库,英文名repository。是一个文件。里面所有文件修改都能被Git跟踪。
创建一个空目录:$ mkdir learngit $ cd learngit $ pwd
通过git init
命令把这个目录变成Git可以管理的仓库$ git init
3.把文件添加到版本库
强烈建议使用标准的UTF-8编码。
$ gedit readme.txt //在版本库文件夹下创建一个readme.txt文件,输入Git is a version control system. Git is free software.
$ git add readme.txt //把文件添加到仓库$ git commit -m "wrote a readme file" //把文件提交到仓库, -m 后面输入的是本次提交的说明
也可以一次提交多个文件(多次添加)$ git add file1.txt $ git add file2.txt file3.txt $ git commit -m "add 3 files."
4.一些常用的命令
$ git status //时刻掌握仓库当前的状态,哪些被修改了,添加了,提交了。
$ git diff readme.txt //查看具体修改了什么内容
$ git log //显示从最近到最远的提交日志
,最前面的字符是版本号 ,以便确定要回退到哪个版本
$ git log --pretty=oneline
//简单显示从最近到最远的提交日志 ,
$ git reflog //查看命令历史,以便确定要回到未来的哪个版本
$ git diff HEAD -- readme.txt //查看工作区和版本库里面最新版本的区别
5.版本回退
$ git reset --hard HEAD^ //
HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
$ git reset --hard 3628164 //指定回到未来的某个版本,数字对应版本号的前几位
6.解释git add
命令实际上就是把要提交的所有修改放到暂存区(Stage)
执行git commit
就可以一次性把暂存区的所有修改提交到分支
7.撤销修改
$ git checkout -- file //丢弃工作区的修改,工作区即为当前目录下的修改
$ git reset HEAD readme.txt //把暂存区的修改撤销掉(unstage),重新放回工作区,再由工作区丢弃
8.删除文件$ rm test.txt //删除工作区文件
$ git rm test.txt //从版本库中删除该文件,并且
git commit
$ git commit -m "remove test.txt"
$ git checkout -- test.txt
//其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
9.远程仓库$ ssh-keygen -t rsa -C "[email protected]" //创建SSH Key,填入自己的邮箱地址
登陆GitHub,打开“Account settings”,“SSH Keys”页面
点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容
点“Add Key”
添加远程库
登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。
在Repository name填入learngit
,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。
接下来关联到Github账户
//把上面的
$ git remote add origin git@github.com:michaelliao/learngit.gitmichaelliao
替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库。
添加后,远程库的名字就是origin
,这是Git默认的叫法$ git push -u origin master
//把本地库的所有内容推送到远程库上$ git push origin master //本地作了提交后,把本地
master
分支的最新修改推送至GitHub
登陆GitHub,创建一个新的仓库,名字叫gitskills。勾选
$ git clone git@github.com:michaelliao/gitskills.git //将远程库克隆(复制)到本地库Initialize this repository with a README
$ cd gitskills //查看下 $ ls
10.分支管理
以上是关于Git学习的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段