之前简单学习过git,目前处于复习阶段之后发现忘了不少,在此做下总结
1.Git的安装
windows下直接去官网下载即可
linux centos 使用yum install git安装
2.Git的配置
使用git config 命令配置用户信息等
查看配置信息 git config --list
3.Git的工作流程
一般工作流程如下:
克隆 Git 资源作为工作目录。
在克隆的资源上添加或修改文件。
如果其他人修改了,你可以更新资源。
在提交前查看修改。
提交修改。
在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
4.Git 工作区、暂存区和版本库
工作区:电脑中可以看到的目录
暂存区:存放在隐藏文件下的.git目录下的index文件
版本库:.git目录
5.Git创建仓库
git init 初始化仓库 在这之前还是建议你先去github建立一个资源库
git clone 获取某仓库的资源
git add 将文件添加到缓存
git status 查看上次提交是否有修改
AM 表示已缓存的文件又经过了修改
git diff 查看执行 git status 的结果的详细信息
比如我们修改了一个文件,但是这个更新的文件并没有加入缓存区,使用该命令就会看到修改的内容
--cached 查看已缓存的改动,你提交缓存的文件中的改动
--stat 显示改动的摘要,而不显示详细信息
git commit 将缓存区添加到仓库
-m '参数' 提交时加入信息
-a 出来一个编辑器,书写信息
git reset HEAD 提交到缓存区取消提交
注意:reset和checkout的功能类似,但是有区别,具体区别以后再说
git rm 移除某个文件
-f 如果该文件已经在暂存区,那么要使用强制删除
--cached 保留当前目录文件
-r 删除目录中的文件和子文件
git mv 移动文件
这个和mv是有区别的,通过git mv 移动,暂存区的名称也会改变
Git 分支管理
作用:在不影响主线的情况下继续开发
git branch <name> 创建分支
当你使用git init的时候会默认创建master分支
在修改另一个分支时并不会影响到其他分支
-d 删除分支,如果没有合并要是用-D删除
git checkout <name> 切换分支
-b 创建分支后直接切换
当切换分支时会将分支最后提交的文件替换该目录下的文件
git merge 合并分支
当在新的分支创建文件后可以合并到主分支,具体操作还没搞懂
git pull 取回分支更新
两个用户同时上传了相同文件会发生冲突,发生冲突后需要使用git pull将远程的文件抓下来修改完毕后再提交上去
合并冲突
这个合并是重点,待会解决
使用git reset -hard HEAD^^可以回滚
Git 查看提交历史
--oneline 更简洁的版本信息
--graph 查看历史出现的分支,合并等
--reverse 倒序查看
--author 查找指定用户
--since --after 等指定
Git 标签
git tag -a 添加提交版本信息
比如 v1.0等,添加上版本信息会出现编辑器,可以填写
git log --decorate 查看版本信息
git tag 查看所有标签
git tag -a v0.9 提交信息 追加提交版本号
git tag -a v0.9 -m "" 指定标签命令
Git 远程仓库(Github) 通过远程仓库可以将项目分享给其他人
在学习命令之前,需要先配置远程仓库
1.$ ssh-keygen -t rsa -C "2658803113@qq.com" 在本地生成一个钥匙
2.添加至github远程仓库
git remote add git@github.com:wangheng669/shop.git
提交本地数据至远程仓库 这里有可能遇到版本冲突的问题使用-f 强制提交
git remote 查看远程仓库
-v 查看别名的实际链接地址
git fetch 提取远程仓库
git merge 合并分支
这俩没看懂,待会再看
git remote rm <name> 删除远程仓库
Git 服务器搭建
1.安装git及依赖
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git
2.创建git用户组和用户
groupadd git
useradd git -g git
3.创建证书登录
cd /home/git/
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
4.初始化Git仓库
cd /home
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo
git init --bare runoob.git
chown -R git:git runoob.git
5.克隆仓库
git clone git@192.168.45.4:/home/gitrepo/runoob.git
密码不对可以重新设置密码
6.禁止登陆
作为一个服务器是不让别人登录的
打开etc/passwd
修改git用户的nologin即可