git开发使用手册(常用)
Svn(集中式) ; Git(分布式)
安装命令
apt-get install git
查看版本
git version
配置文件
去除全局变量删除global即可
git config --global user.email "893985729@qq.com" # 邮箱
git config --global user.name "password" # 密码
查看配置文件
vim ~/.gitconfig
常用命令
初始化新仓库
git init
克隆旧仓库
git clone https://github.com/.......(仓库)
查看状态
git status
添加文件
git add <filename> # 提交单个文件
git add . # 提交所有文件
提交到仓库
git commit -m '提交说明' # 提交说明必写
删除版本库与本地项目中的文件
git rm <file>
删除版本库中文件但保存本地项目文件
git rm --cached filename
第二次删除文件
git reset HEAD <file>
恢复到上一次提交的版本
git checkout -- <file>
配置忽略文件
gedit .gitignore
重命名
git mv file1 file2
修改提交信息
git commit --amend
Log
查看日志
git log
显示已修改的文件清单
git log --name-only
显示新增/修改/删除文件清单
git log --name-status
只显示前几个字符
git log --oneline
显示最近几次提交日志
git log -p -n # n为数字
alias
配置alias
git config --global alias.a add
修改~/.gitconfig
gedit ~/.gitconfig
[alias]
a = add .
c = commit
s = status
l = log
b = branch
branch
dec --> develop
创建分支
git branch <dev>
查看分支
git branch
切换分支
git checkout <dev>
合并分支
git checkout master
git merge <dev>
删除分支
git branch -d <dev>
删除没有合并的分支
git branch -D <dev>
删除远程分支
git push origin :<dev>
查看未合并的分支
git branch --no-merged
查看已经合并的分支
git branch --merged
把主分支往后挪
git rebase master
冲突
原因
某一文件被几个分支都修改过会产生冲突, 造成无法合并master
解决方案
-
编辑器人工修改
-
git add .
-
git commit -m 'message'
储藏区
创建储藏区
git stash
查看储藏区
git stash list
应用最近的储藏区
gir stash apply
应用更早(特定)储存区
git stash apply stash@{2}
删除储存区
git stash drop stash@{0}
应用并删除储存区
git stash pop
Tag
只有稳定的版本才能打标签
显示标签列表
git tag
添加标签
git tag v1.0
删除标签
git tag -d v1.0
推送标签
git push --tags
发布
生成压缩包
git archive master --prefix='tarname' --format=zip > tarname.zip
Github开发使用手册
自动关联
SSH生成密钥
ssh-keygen -t rsa
一直敲回车
进入ssh目录
cd ~/.ssh
公钥id_rsa
,私钥id_rsa.pub
打开公钥
gedit id_rsa.pub
复制公钥到github配置
Settins–>SSH and GPG keys–>New SSH key–>添加公钥
推送数据
git push
连不上的解决办法
ssh–>konw_hosts 内容全部删掉即可
本地关联远程
创建本地仓库并完成初始提交
git init
git add README.md
git commit -m "first commit"
添加远程仓库
git remote add origin git@github.com:github_id/project.git
查看远程仓库
git remote -v
推送数据到远程仓库
git push -u origin master
删除远程仓库关联
git remote rm origin
pull
拉取远程主机的分支与本地master分支合并
git pull origin dev:dev
查看远程主机分支
git branch -a
推送数据
git push
git push --set-upstream origin dev # git会提示
push
本地更新
git push
将当前分支推送到origin主机对应分支
git push origin
默认主机
使用
-u
选项指定一个默认主机 ,这样以后可以直接使用git push
git push -u origin master
删除远程分支
git push origin --delete dev
自动部署
部署
-
创建web服务器
-
Github使用HTTPS进行克隆
-
git clone <...> www.dns.com
-
设置框架路由
secret
和path
-
删除shell_exec禁用函数
权限
chown -R www .
chmod -R g+s .
sudo -u www git pull