git入门
一.git简介
1.集中式和分布式版本控制
(1)集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。代表CVS和SVN
集中式版本控制系统最大的毛病是必须联网才能工作
(2)分布式版本控制,每个人都有自己的版本库,不需要联网,版本库本地即可管理。当然为了习惯及团队协作,会将本地数据同步到Git服务器或者GitHub等代码仓库
GIT最强大的功能还有分支管理,远甩SVN等软件。
二.安装
1.在linux中安装
sudo yum install git
2. 使用git就是将本地文件(工作目录workspace)的文件,添加到暂存区(stage),然后提交到本地仓库(repository),最终可以协同开发,推送到远程仓库(remote)
3.当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
git config --global user.name "hu"
git config --global user.email hu@example.com
三.git基本操作
1.建立git仓库
git版本库,也叫做git仓库(repository),也就是一个文件夹。
这个目录的所有内容被git软件管理,所有的修改,删除,git都会跟踪记录,便于还原文件。
(1)git init mysite 初始化仓库
(2)git status 查看git状态
(3)git add main.py 开始跟踪main.py文件
(4)git commit -m 'echo main.py' 告诉git,把暂存区的main.py提交到本地仓库
(5)git log 查看commit记录
2.给文件改名
(1)直接mv的操作,会被git记录为两个形容,一、删除原有文件、二、新建了mymain.py文件
此时新文件还未被跟踪,需要git add , git commit.原本的main.py还需要从暂存区删除
git rm main.py 删除暂存区的main.py
git commit -m "mv mymain.py" 提交新的mymain.py
(2)改名最正确的姿势
git mv main.py mymain.py
git commit -m "mv mymain.py"
3.查看git版本信息
当你的代码写好了一部分功能,就可以保存一个"存档",这个存档操作就是git commit,如果代码出错,可以随时回到"存 档"记录.查看"存档"记录,查看commit提交记录的命令 git log
git log --oneline 一行显示git记录
git log --oneline --all 一行显示所有分支git记录
git log --oneline --all -4 --graph 显示所有分支的版本演进的最近4条
git log -4 显示最近4条记录
git log --all 显示所有分支的commit信息
git branch -v 查看分支信息
4.回退到上一次commit版本,(注意这个命令,很危险,慎用)
git reset --hard HEAD^ 回退到上个版本 --hard 清空暂存区和工作目录资料
HEAD表示当前版版本
HEAD^表示上个版本
HEAD^^上上个版本
也可以直接git reset --hard 版本id号
5.git reflog
当你发现你git reset --hard回退错了。。。怎么办?别怕git reflog 记录了你每一次命令
git reflog
我想回到某一个点,可以再次git reset --hard 版本id
6.git仓库
工作区里有一个.git隐藏文件夹,就是git的本地仓库
.git文件夹里有一个index文件,就是git的暂存区,也叫做stage
.git文件夹里的HEAD文件就是git的一个指针
7.git删除文件和恢复文件
rm -rf 文件 删除了工作区的文件git仓库还有记录
恢复文件,可以通过git仓库的代码,替换工作区的代码
git checkout -- 文件名
如果确认文件无用,可以commit到git仓库
git rm "my.txt"
git commit -m "remove my.txt"
三.git分支
git branch 分支名linux 创建分支linux
git checkout 分支名linux 切换分支到linux
git branch 查看当前分支情况,在哪一个就有*符