git的基本使用
起步:下载git
git
下载地址:
https://git-scm.com/
改变git的UI样式:
找到安装git
的文件夹,进去之后,右击git-bash.exe
选择 以管理员身份运行 。
接着复制粘贴如下命令:
git clone https://github.com/xnng/my-git-bash.git
cd my-git-bash
git clone https://gitee.com/xnng/bash.git
cd bash
接下来,安装字体:
#这是注释:运行完下边这条命令之后,window电脑会打开两个文件夹,一个文件夹里有很多.ttf文件,另一个
#文件夹里只有一个,把仅有的这一个直接拖到另一个有很多文件的文件夹里
start c://Windows//Fonts && start %cd%/fonts
接下来安装主题:
cp .minttyrc ~ && cp git-prompt.sh /etc/profile.d
exit
做完上面的操作之后有的电脑会重启一下gitbush
有的电脑把gitbush
关了之后不再重启,如果电脑没有自动重启gitbash
只需手动打开就可以了。
git指南北东西
创建版本库
git init
添加操作
#添加操作实际上是把文件修改添加到暂存区
#单独添加某个文件的修改
git add 文件名称
#添加所有文件的修改使用的是小写的点
git add .
提交操作
#提交更改,实际上就是把暂存区的所有内容提交到当前分支
#会提交所有添加后的文件
git commit -m"本次提交的描述"
查看当前仓库里所有文件的状态:
git status
查看一个文件修改了哪一部分:
git diff 文件名
查看提交历史:
git log
#让日志变得更漂亮
git log --pretty=oneline
回到上一个版本
#上一个是HEAD^ 回到上上一个是HEAD^^ 回退到10个版本以前HEAD~10
git reset --hard HEAD^
回到某个特定的版本
git reset --hard 版本号
查看所有使用过的命令历史(日志)
git reflog
工作区
git仓库所在的目录就是工作区
版本库
.git文件夹就是当前这个git仓库的版本库,这个不是工作区;
里边存了很多东西,其中最重要的是
stage
【暂存区】、git自动创建的第一个分支master
【主分支】、以及指向master
【主分支】的指针HEAD
。
修改了一部分把它添加到了暂存区,但是又对文件进行了一波修改
#第一次修改
git add .
#第二次修改,继续添加
git add .
#统一提交
git commit -m"描述"
撤销修改
#让文件回到最近一次添加或提交时的样子
git restore 文件名
撤销已添加到暂存区的修改
#撤销单个
git restore --staged 文件名
#撤销多个
git restore --staged .
删除文件
#手动删除一个文件之后,git版本库里依然是有这个文件的,如果要把git版本库里的文件也删除掉,使用git rm命令。比如说我们现在手动删除了一个叫做demo1.html的文件,接着
git rm demo1.html
#从版本库里删除之后要再进行一次提交
git commit -m"描述"
远程仓库
文中的克隆指的是下载:
git之所以叫做分布式版本控制系统,同一个git仓库,可以分布到不同的电脑上,那么怎么分布呢?最早,肯定只有一台机器有这个版本库,别人可以直接把你的这个版本库复制到自己的电脑里,复制完成之后,每个人都有了一个一样的版本库,这些分布在不同人不同电脑上的版本库并没有主次之分。这样即使某个人的电脑坏了文件丢失了,也可以再克隆一遍。假如说我们有一个git仓库,别人需要克隆,我们不知道有多少个人要克隆,也不知道他们什么时候来克隆这个版本库,因此我们就必须保持电脑24小时开机,而在实际开发中我们一般会把这个git仓库放在一台服务器上,这样无论何时何地只要有网络任何人都可以克隆这个仓库。而
github
就为我们免费提供了一个可以存储git仓库的服务器,我们只需要注册一个github
的账号就可以了。怎么注册呢:
注册github
账号
github网址
: https://github.com/
github
是一个免费的代码托管平台,用户范围遍布全球,我们放在上边的项目别人可以查看和克隆,别人放在上边的项目我们也可以查看和克隆,这样即便是离我们很遥远的牛人,我们也可以把他们公开的项目下载下来玩弄一番]。
接着创建SSH Key
#我们把项目放到github上托管后,其他人也可以看到和下载,为了防止别人修改我们在远程仓库里的代码,github使用一种加密认证,只有认证通过才可以修改远程仓库里的代码。那别人下载我们的代码到自己的电脑上之后可不可以在他的电脑上修改我们的代码呢?这个当然可以,我们无法控制,我们能做的是不让他改我们远程仓库里的代码
ssh-keygen -t rsa -C "你的邮箱地址"
输入完成之后不管他提示什么都一路回车,知道不能回车为止,接着把我们生成的SSH Key
添加到我们自己的github
账号里:
#首先你要知道自己的sshkey是什么
cat ~/.ssh/id_rsa.pub
把返回的一堆密码复制一下,填在自己github
的设置里(这个密码可以随意给别人看,除非你做的是机密工作,那你不能透露给别人)。
添加上去之后我们现在就可以去修改自己账号里远程仓库里的代码了,但是我们得先有个仓库,现在我们在github
上创建一个远程仓库。
接着我们找到本地的git
仓库,然后把本地的仓库和远程的仓库关联起来:
#在本地
git remote add origin 远程仓库的地址
现在我们把两个仓库关联了起来,但是远程仓库里并没有我们本地仓库的代码,我们需要把本地的代码推送到远程:
在推送之前我们需要配置一下git:
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
#在本地
git push origin master
推送完成之后,我们会发现远程里的代码和我们本地的代码一模一样。从现在开始,只要你本地修改代码并提交之后,就可以推送到远程仓库来更新远程仓库里的内容。我们刚才所说的别人无法修改你远程仓库里的代码指的就是他不能把在他本地上修改的部分推到你的远程仓库。
刚才我们说的是如何本地仓库关联远程仓库接下来我们来看看如何把远程仓库上看到的代码克隆到本地:
git clone 仓库地址