Git使用
2016-05-17 21:45
246 查看
一
git多人协作开发
$ git 多人协作开发介绍
需要有一个服务器
除了在本地提交,还需要往服务器提交
需要添加 .gitignore 文件
有可能产生冲突,需要手动解决
$ git 多人协作过程
初始化一个 git 服务器
添加 .gitignore
文件
项目经理创建项目
开发人员克隆服务器版本库到本地
开始开发
git init --bare //建立一个git服务器代码仓库
git clone <服务器地址> //建立一个git服务器代码仓库
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
git push //把本地版本库提交到服务器,类似 svn 的 commit
git pull //把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update
git config --global push.default simple/maching //默认simple,只提交当前分支
$ 冲突解决
养成先执行 git commit
命令后;再执行 git pull
;最后执行 git push
的好习惯;
二 标签管理
$ tag 的作用
tag 可以对 git 版本库中阶段性的,重要的版本做一个标记(比如说 appStore 上线版本);
我们可以通过 tag 快速地定位到某个重要版本;
$ tag 的相关操作
tag 的相关操作包括,添中、删除、查看 tag。将 tag 提交到服务器等
git tag –a 1.0 –m “name” //添加新标签
git tag //查看所有tag
git tag -n // 查看所有 tag,带注释
git checkout 1.0 //切换到某一标签版本
git show 1.0 //查看某个标签及其对应版本的详细信息
git tag -d 1.0 //删除一个版本
git push origin 1.0 //将版本推送到服务器
三 分支管理
$git 分支
分支就是从主干(主分支)的某一个版本分出来的一个支干
每一条支干上的操作相互独立
分支之间可以相互合并
在解决 bug, 开发新功能时,可以用分支
分支的操作
分支的操作主要涉及分支的创建、切换、删除、提交、合并等
git branch //查看当前分支
git branch -a //查看所有分支
git checkou -b dev //创建一个分支 dev, 并切换到该分支
git push origin dev //在本地创建一个分支
git checkout master //切换到分支 master
git branch -D dev //删除本地 dev 分支
git git push origin :dev //删除远程 dev 分支
git merge dev //将 dev分支合并到当前分支
$ git命令总结
//git 本地版本管理命令
git init //初始化一个本地git代码仓库
git confit user.name //配置用户名
git config user.email //配置用户邮箱
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git diff //比较当前版本和之前版本的区别
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
git log //查看截止到当前版本的历史记录
git reset --hard HEAD^ //将代码回滚到之前版本
git reflog //查看所有操作过的历史记录
//多人协作开发命令
git init --bare //建立一个git服务器代码仓库
git clone <服务器地址> //建立一个git服务器代码仓库
git push //把本地版本库提交到服务器,类似 svn 的 commit
git pull //把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update
git config --global push.default simple/maching //默认simple,只提交当前分支
//tag及分支命令
git tag –a 1.0 –m “name” //添加新标签
git tag //查看所有tag
git tag -n // 查看所有 tag,带注释
git checkout 1.0 //切换到某一标签版本
git show 1.0 //查看某个标签及其对应版本的详细信息
git tag -d 1.0 //删除一个版本
git push origin 1.0 //将版本推送到服务器
//分支相关命令
git branch //查看当前分支
git branch -a //查看所有分支
git checkou -b dev //创建一个分支 dev, 并切换到该分支
git push origin dev //在本地创建一个分支
git checkout master //切换到分支 master
git branch -D dev //删除本地 dev 分支
git git push origin :dev //删除远程 dev 分支
git merge dev //将 dev分支合并到当前分支
$ git注意事项
.git不能修改
提交之前,需要先配置个人信息
在项目新建之前,需要添加 .gitignore文件(工作当中是项目经理的活)
push 之前,先执行 commit
, 再执行 pull
的操作
项目开发过程中,未经允许,不能修改别人的代码
重要的版本打 tag
$ git扩展
配置别名: git 的的命令可以通过配置别名的行式,使命令变得更简单
比如说:`$ git config --global alias.st status` 意思是给 `status` 命令配置一个别名 `st`, 敲git st就表示git status
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git config --global alias.unstage 'reset HEAD'
$ git ci -m "bala bala bala..."
$ git unstage test.py
实际上Git执行的是:
$ git reset HEAD test.py
$ git config --global alias.last 'log -1'
这样,用git last就能显示最近一次的提交:
甚至还有人丧心病狂地把lg配置成了:
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
来看看git lg的效果:
git-lg
配置文件
配置Git的时候,加上--global是针对全局的 git 仓库起作用的,如果不加,那只针对当前的仓库起作用。
配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中:
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@github.com:michaelliao/learngit.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[alias]
last = log -1
全局的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:
$ cat .gitconfig
[alias]
co = checkout
ci = commit
br = branch
st = status
[user]
name = Your Name
email = your@email.com
//git 本地版本管理命令
git init //初始化一个本地git代码仓库
git confit user.name //配置用户名
git config user.email //配置用户邮箱
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git diff //比较当前版本和之前版本的区别
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
git log //查看截止到当前版本的历史记录
git reset --hard HEAD^ //将代码回滚到之前版本
git reflog //查看所有操作过的历史记录
//多人协作开发命令
git init --bare //建立一个git服务器代码仓库
git clone <服务器地址> //建立一个git服务器代码仓库
git push //把本地版本库提交到服务器,类似 svn 的 commit
git pull //把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update
git config --global push.default simple/maching //默认simple,只提交当前分支
//tag及分支命令
git tag –a 1.0 –m “name” //添加新标签 git tag //查看所有tag git tag -n // 查看所有 tag,带注释 git checkout 1.0 //切换到某一标签版本 git show 1.0 //查看某个标签及其对应版本的详细信息 git tag -d 1.0 //删除一个版本 git push origin 1.0 //将版本推送到服务器
//分支相关命令
git branch //查看当前分支 git branch -a //查看所有分支 git checkou -b dev //创建一个分支 dev, 并切换到该分支 git push origin dev //在本地创建一个分支 git checkout master //切换到分支 master git branch -D dev //删除本地 dev 分支 git git push origin :dev //删除远程 dev 分支 git merge dev //将 dev分支合并到当前分支
相关文章推荐
- POJ 2447 Remmarguts' Date【k短路 SPFA+A* 模板题】
- CAS客户端基本配置备忘
- show一下自己的文档编写功底
- 算法导论之贪心算法:哈夫曼编码
- 控制策略模型建模规范(SIMULINK)
- Linux下apache安装
- saltstack[4]-pillar用户变量自定义
- UVA 10976 Fractions Again?! (暴力预处理)
- androd 屏幕分辨率对照表
- 剑指offer—第二章算法之快速排序
- You have an error in your SQL syntax;
- 用ListView来显示解析jsonstr数组后的数据
- C#装箱和拆箱(Boxing 和 UnBoxing)
- 最长上升子序列(LIS DP)
- fabric使用小结
- Java之enumeration(枚举)
- 线程通讯--BlockingQueue
- 树的计数 + prufer序列与Cayley公式 学习笔记
- 51nod 1434 理解lcm
- C++中负数是真还是假?