安装git
yum 安装git
创建仓库目录
初始化仓库
配置用和用户邮箱
创建一个新文件并输入一些文字
将文件添加到仓库 Git常见操作(完整提交步骤) - 简书 https://www.jianshu.com/p/45ef8508a646
查看当前仓库的状态
修改文件后再查看仓库状态
查看文件 的变更
查看所有的编辑记录 及查看版本ID
邮箱地址在/root/.gitconfig配置文件中的有定义
版本id
回退
可以简写id
恢复到最初的版本只有一个版本记录
查看历史版本对应的字符串 恢复到最新的一次版本
误除文件后恢复git checkout -- 1.txt文件存在版本管理库里,文件误删是不要紧
Git删除文件
删除文件后需要把库里的记录也删掉
恢复
这删了版本库里的文件 使用checkout 将不再有效
建立远程仓库
登录后可以做一些操作
创建一个项目仓库
私有仓库需要收费
添加公钥
本地客户端创建仓库
初始化版本
//跟着简单操作说明操作
echo "# testdir" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:gzdhzyyf/testdir.git
git push -u origin master
推送到远程
git remote add origin https://github.com/gzdhzyyf/hh.git
git push -u origin master
git config --global push.default matching
第一次执行需要认证
刷新远程页面查看是否有推送
克隆远程仓库
找到要克隆的Git页面
点击clone or download 复制链接
本地客户端
更改文件再更新到远程仓库
git push
查看更改变动
远程服务端更改文件
完成提交
本地端更新文件
分支管理
本地仓库操作
查看当前所有分支
git branch
创建分支
git branch test1
切换分支
git checkout test1
再次切换分支没有显示新创键的 文件 证明各个分支隔离开
合并分支
切换到目标分支
git merge test1
如果master分支和其他分支都编辑过通一个文件,合并时会提示冲突,需要先解决冲突才可以继续合并
先修改测试文件 现在test1分支上修改文件 增加几行
再到aming分支下修改文件 删除几行执行合并提示冲突
如果需要master 分支下的内容
将红框的删除然后推送切换到test1分支将文件改为想要的再将master合并
删除分支
切换非目标分支 再执行删除
远程分支管理
测试
再远程仓库创建分支
先创建linux.doc
创建新的分支
克隆
clone 只能克隆master分支
查看远程所有分支
git ls-remote origin
切换远程分支
git checkout -b dev origin/dev
在Dev的分支下添加一个文件并推送到dev
当两个分支都有变更时 会默认把有变更的分支推送到远程
当本地创建新的分支
推送到远程时显示已是最新的,可以使用指定将新建的分支推送到远程
标签管理
会给最新的commit打标签
查看分支commit
针对旧版本打标签
使用简写的commit
查看标签对应哪个commit 使用 git show 标签名
对标签进行描述
删除标签
推送指定标签到远程
web查看tag推送指定标签到远程
刷新后即可查看tag
一个标签类似于分支之类,里面有对应的文件
推送所有标签到远程 v1.0有两个文件、v0.9只有一个文件
删除远程标签先删除本地tag再删除远程tag
git别名
创建别名 ci
查看别名使用的命令
可以编辑配置文件添加别名 ,但是最好通过命令的形式添加
查询日志技巧
取消别名
搭建git服务器
准备一天服务器
添加用户并设置不允许登录
创建.ssh目录将客户端的公钥复制到服务器 与GitHub上的公钥一样的用途
测试登录
验证成功但不允许登录
创建仓库
客户端上克隆远程仓库
做一些操作
由于是裸仓库 推送时要指定分支
再做修改
再次clone
加入其它机器做过修改
做新变更拉取过来