使用Git管理代码
来源:互联网 发布:我国网络法律法规 编辑:程序博客网 时间:2024/06/10 09:35
建立代码仓库
init config
$ git init
当前目录被称为*工作树*
$ git config --global user.name "Your Name Comes Here"$ git config --global user.email you@yourdomain.example.com
设置用户名和邮箱,此信息会保存在每次commit的log中,使用git log查看
常用操作
add commit revert
$ git add .
将当前目录生成一个快照放到一个临时存储区域,创建索引
$ echo "zh" > .gitignore$ git add .
忽略zh目录,不要放到当前缓存中更新
有关 gitignore 文件的诸多细节知识可阅读其使用手册: $ man gitignore
$ git commit
将索引中的代码提交,可选参数-m ‘messages’可以增加备注信息,
如果不指定则调用默认的编辑器Vi编辑message
$ git revert filename
从代码库中恢复某个文件
协同开发
clone pull push
$ cd work$ git clone lyr@192.168.0.7:~/work/m2ge m2ge
通过ssh访问远端的某个git目录 将工作树复制到本地,如果不指定文件夹则和远 端一致。
ssh 协议: 账户@IP:路径
clone之后 就在本地创建了一个工作目录,所有的提交删除工作都可以在本地进行,不需要频繁操作主分支
项目开发
$ git add 增加改动的文件
$ git commit 向本地代码库提交
$ git pull 远程仓库名 需要合并的本地分支名 # 获取远端代码 (此步可替换成git fetch [remote-name] git rebase )
$ git push 远程仓库名 远程分支名(若没有将创建) #提交代码到远端库
分支管理
branch checkout merge
$ git branch 察看当前分支
$ git branch -a 查看所有分支(包括从remote clone下来的分支默认是隐藏的)
$ git branch local 建立一个分支
$ git checkout local 切换分支为local, 进行开发工作add commit ...
$ git checkout master 将当前分支切换为master
$ git checkout -b develop origin/develop 创建本地分支develop跟踪远程仓库的develop分支。
$ git merge local 将local分支与当前分支合并
$ git branch -d local 删除local分支
没有完成merge的分支是无法直接删除的,需要用到-D参数强制删除
GIT 常用命令
git log
查看最近两次的提交内容git log -p -2
查看提交的统计数据git log --stat
查看最近两次的提交git log -n 2, git log -2
查看某个日期之前/之后的提交 after(since) & before(until)
git log --after 2.weeks, git log --before 2.years
查看某个作者或者提交者的提交日志,作者和提交者还是有一点区别的
git log --author pyLemon, git log --committer pyLemon
在提交的 log 内容中 grep 查找 git log --grep 'change'
git commit
更改上一次的提交内容
有时候在做了 commit 操作后,发现上一次的提交内容有问题,有部分文件忘了提交。这种情况可以使用 –amend 来更改上一次的提交一个典型的使用场景,将 readme.md 添加到上一次提交中去。
git add readme.mdgit ci --amend
这样就可以将 readme.md 合并到上一次的提交中去了,最终只产生一个提交记录。
git reset
还原已经提交的文件
如果一个文件已经 add 到 stage 中,而我们发现它又是不需要的。这时可以采用 reset 命令,重置它。
git add .git reset HEAD readme.md
这样这个文件就会取消他的 stage 状态。
git checkout
放弃修改,还原文件(未进入stage之前,即没有执行git add)
如果一个文件想要还原到他修改前的样子。可以使用 checkout 命令。
git checkout -- readme.md
这个命令会放弃所有作出的修改,将文件还原成变更前的状态。
切换分支 git checkout master 切换到master分支
创建分支并切换到该分支 git checkout -b develop 创建develop分支,并切换到该分支
创建分支跟踪一个分支 git checkout -b develop origin/develop 创建一个develop分支,跟踪远程仓库的develop分支。
git stash
当你不想提交当前完成了一半的代码,但是却不得不修改一个紧急Bug,那么使用'git stash'就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完Bug,提交到服务器上后,再使用'git stash apply'将以前一半的工作应用回来。也许有的人会说,那我可不可以多次将未提交的代码压入到栈中?答案是可以的。当你多次使用'git stash'命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑。'git stash list'命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用'git stash apply stash@{1}'就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用'git stash clear'来将栈清空。
git branch
从远端clone一个远端仓库,到其目录下:
$ git clone git://example.com/myproject$ cd myproject
然后,看看你本地有什么分支:
$ git branch
* master
但是有些其他分支你在的仓库里面是隐藏的,你可以加上-a选项来查看它们:
git push
推送到远程仓库。git commit之后再执行,
git push (远程仓库名) (远程分支名)
$ git push origin serverfix
执行git push origin serverfix:serferfix,效果是一样的。这 其 实 有 点 像 条 捷 径。Git 自 动 把 serverfix 分 支 名 扩 展 为 refs/ heads/serverfix:refs/heads/serverfix,意为“取出我的 serverfix 本地分支,推送它来更新远程仓库的 serverfix 分支”。
如果想在服务器上删除 serverfix 分支,运行下面的命令:
$ git push origin :serverfix
- 使用Git管理代码
- 使用Git管理代码
- 使用Git管理代码
- 使用Git管理代码
- 使用Git管理代码
- VS2010使用GIT管理代码
- 使用Git+GoogleCode管理代码
- eclipse 使用 git 管理代码
- vs2013使用git管理代码
- Xcode 使用git管理代码
- 简单使用git管理代码
- 【Git】使用Git在git.oschina上面管理代码
- OpenWRT使用git管理代码的问题
- 使用git建立本地仓储管理代码
- 使用本地git管理xcode代码:
- 使用Git进行小项目代码管理
- eclipse中使用git管理代码库
- 使用Git进行小项目代码管理
- 计算机视觉,机器学习相关领域论文与代码集合
- jQuery优缺点
- poj 3635(搜索)
- Win7系统怎样用键盘操作桌面、开始菜单、文件夹、文档等
- 机房重构个人版总结
- 使用Git管理代码
- 【JS】【客户端】脚本化CSS
- Scala-IDE安装方法
- 找数组中最大或最小值
- 13、黑马程序员-OC语言description方法和sel
- 项目计划
- 高精度运算之小学生算法
- 大话总结
- Hibernate工作原理简单分析