常用操作
- 安装GIT
- 简单配置
- 创建仓库 维护旧仓库
- 快速开始
- 添加忽略
- 从版本库中删除资源
- 文件改名
- git日志
- 修改最近一次的描述信息
- 文件管理
- 添加别名
- 分支branch && 分支合并
- 解决冲突
- 暂存区
- TAG标签
- 发成ZIP压缩包(代码发布)
- 系统别名
- 合并
- github 使用SSH与GITHUB远程服务器进行连接
- 本地版本库主动使用 remote与远程服务器关联
- 本地分支与远程服务器分支同步
- 多人合作开发
- 搭建GIT服务器(centos7)
- 使用 git-bash 生成公钥和私钥
安装git
# win 下载 git for windows 客户端 安装即可
# linux
yum install git -y
# 查看版本
git --version
简单配置
# --global 配置全局 去掉配置单个项目
git config --global user.email "xx@xx.com"
git config --global user.name "xxx"
# 回到用户目录 打开配置文件查看
cd
vim .gitconfig
创建仓库 维护旧仓库
创建仓库
# win 下 cmd; linux 类似
cd /d
mkdir -p github/test
cd github/test
git init
维护旧仓库
git clone https://xxxxxxx.com/xx.git
快速开始
# 远程获取
git pull
# 添加文件跟踪
git add .
# 提交
git commit -m '提交说明'
# 远程提交(默认同步到与本地同名的分支)
git push
# ex
touch a.txt b.txt
git status
git add a.txt b.txt
git status
git commit -m "描述"
git push
添加忽略
在项目目录创建一个 .gitignore的文件
touch .gitignore
vim .gitignore
添加内容
# 这是忽略配置文件
# 忽略所有 .txt 结尾的文件
*.txt
# readme.txt 文件除外
!readme.txt
# 忽略vendor 目录
/vendor
添加除了忽略的其它文件到跟踪
git add .
从版本库中删除资源
删除仓库中的 a.php 同时删除本地的 a.php
git rm a.php
只删除仓库中的 a.php 保留本地
git rm --cached a.php
文件改名
git mv a.php IndexController.php
git add .
git commit -m "rename file"
在window 下面如果只改文件名称的大小写 有可能会发生在版本中不识别变化。
可以 先改成 别的名字,再改成想要的大小写形式;也可以使用 git mv 命令,同linux命令。
git日志
查看日志
git log
# 查看详细信息
git log -p
# 查看最近一次变动 n -n
git log -p -1
# 查看简短信息
git log --oneline -p
# 仅在提交信息后显示已修改的文件清单
git log --name-only
# 显示新增、修改、删除的文件清单
git log --name-status
修改最近一次的描述信息
# 修改最近一次的描述
git commit --amend
# 把新的提交归入到最近一次的提交
git add aa.txt
git commit --amend
文件管理
撤销对文件的跟踪
git reset HEAD a.php
添加别名
添加一个 跟踪命令的别名 a
git config --global alias.a add .
在 配置文件中 的[alias] 区域 配置 a = add . 两种方式等同
分支branch && 分支合并
一定是先有主干提交后才有分支的
# 查看分支 & 当前所在分支
git branch
# 创建bbs论坛分支
git branch bbs
# 切换到 bbs 论坛 分支
git checkout bbs
# 创建并 切换到 abs 分支
git checkout -b abs
# 合并分支
git checkout master
git merge bbs
# 删除分支
git branch -d bbs
# 强制删除分支(没有合并的化,需要强制删除)
git branch -D bbs
# 查看合并的分支
git branch --merged
# 查看没有合并的分支
git branch --no-merged
解决冲突
找到 冲突 文件,修改掉冲突的地方;提交即可。
暂存区
当前分支 没有最终提交;但需要临时切换到别的分支,即可以暂存当前分支文件
# 暂存
git stash
# 暂存列表
git stash list
# 恢复暂存区
git stash apply stash@{0}
# 删除暂存区
git stash drop stash@{0}
# eg
git checkout bbs
touch aa.php
git add .
git stash
touch bb.php
git add .
git stash
git stash list
.....
git stash apply stash@{0}
git stash drop stash@{0}
TAG标签
只给稳定的版本打标签 某个阶段的稳定版本
显示标签
git tag
添加标签
git tag v1.1
发成ZIP压缩包(代码发布)
git archive master --prefix='bbs' --forma=zip > bbs.zip
系统别名
区别于别名 别名要加 git; 系统别名使用别名即可。
cd
vim .bash_profile
# 添加
alias gs="git status"
alias gc="git commit -m "
合并
当分支未合并时,主干又提交了新的版本。
为了解决这个问题,把分支的节点挪到主干的最新节点即可。
# 进入分支
git checkout bbs
# 替换节点
git rebase master
git checkout master
# 合并分支
git merge bbs
github 使用SSH与GITHUB远程服务器进行连接
# 注册github账号
# 创建项目
# 生成秘钥
ssh -keygen -t rsa
cd
# 公钥 复制内容到 github 添加 ssh key
cat .ssh/id_rsa.pub
# 克隆项目
git clone xxxxxx.git
# 推送到远程
git push
本地版本库主动使用 remote与远程服务器关联
本地先有了项目,主动与服务器关联
# git@github.com:xxx/xx.git 项目git地址
git remote add origin git@github.com:xxx/xx.git
# 查看远程服务器
git remote -v
# 推送到远程服务器
git push -u origin master
本地分支与远程服务器分支同步
查看所有分支
git branch -a
同步分支到远程服务器 bbs 分支名
git push --set-upstream origin bbs
多人合作开发
# 克隆项目
git clone git@githubxxxx/xxx.git test
# 查看分支
git branch -a
# 获取远程 test分支 到本地 test分支
git pull origin test:test
# 切换到 test分支
git checkout test
# 模拟操作
touch a.c
git add .
git commit -m 'add a.c'
# 推送到远程
git push
# 如果没有与远程建立关联,则会推送失败
git push --set-upstream origin test
# 删除远程 test分支
git push origin --delete test
搭建GIT服务器(centos7)
安装git -- 先配置YUM源
yum install -y git
# 查看版本
git --version
# 创建git用户用于git服务 不能登录
useradd -s /usr/bin/git-shell git
# 收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
# git用户下 创建.ssh目录;有可能没有
mkdir /home/git/.ssh
# 创建authorized_keys文件
# 把用户的id_rsa.pub 内容放入keys文件中,一行一个
touch /home/git/.ssh/authorized_keys
# 创建一个git服务目录 如/repos
mkdir /repos
# 初始化一个仓库 test.git 名称自定义
git init --bare test.git
# 修改目录所有者--因为GIT用户不用于登录只用于服务GIT,需要单独把目录所有者给GIT用户和组
chown -R git:git test.git
# 查看本机IP
ifconfig
# 远程克隆即可
git clone git@ip:/repos/test.git
使用 git-bash 生成公钥和私钥
- 打开git bash
- 执行生成公钥和私钥的命令:ssh-keygen -t rsa 根据提示操作即可,一般直接回车即可
- 接着会生成一个私钥 id_rsa和一个公钥id_rsa.pub。(可执行start ~ 命令,生成的公私钥在 .ssh的文件夹里面)
- 查看公钥的命令:cat ~/.ssh/id_rsa.pub
Comments | NOTHING
该文章已经关闭评论