目录
git init //把这个目录变成Git可以管理的仓库
git add README.md //文件添加到仓库
git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
git commit -m "first commit" //把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
git push -u origin master //把本地库的所有内容推送到远程库上
git remote add origin http://localhost:3000/liuyy/edub_tob_jxuPC.git
git push -u origin master
git remote rm origin
问题描述
前提:假设现在远程有三个分支master、testA、testB
问题:使用命令 git fetch origin 获取到远程分支,然后使用命令 git branch -r 来查看
远程现有的分支,你可以看到以上分支;但是问题来了,你的同事在另一台电脑上将远程分支
testA删除了,然后你用git fetch origin获取远程分支的时候,使用命令 git branch -r
依然会看到三个分支master、testA、testB
解决方法:
使用git fetch --prune origin或git fetch -p 获取被删减后的远程分支,
这时你使用命令 git branch -r 之后看到两个远程分支master、testB
1. 通过git bash,切换到被copy的分支(ibis35),并且从远端拉取最新版本
$ git checkout ibis35
$ git pull
2. 从当前分支拉copy开发分支
$ git checkout -b ibis35-dev
3. 把新建的分支push到远端
$git push origin ibis35-dev
4. 拉取远端分支
$ git pull (经过验证,当前的分支并没有和本地分支关联,根据提示进行下一步)
5. 关联
$ git branch --set-upstream-to=origin/ibis35-dev
6. 再次拉取 验证
$ git pull
git branch:列出本地分支
git branch -a:列出所有分支,包括远程分支
git branch -v:列出本地分支的最后一次提交信息
git branch -vv:列出本地分支及对应的远程分支
git branch :创建新分支
git branch -D :删除分支
git checkout :切换到另一分支
git checkout -b :创建并切换分支
git rebase :分支变基
git merge :合并分支
git log:查看当前分支的提交记录
git blame :查看文件每一行最后修改的版本和作者
git diff:查看当前工作目录修改的内容
git status:查看当前分支的状态
git stash:把当前修改压入栈中
git stash list:显示栈中的list
sit stash pop:恢复栈中的状态
git add .:把工作区的修改提交到暂存区
git commit -m:把暂存区的修改提交到本地仓库
git commit -a:上面两步的一次操作,即把工作区的修改提交到本地仓库
git commit -a --amend:在上一次提交的基础上,补充提交信息,不产生新的提交
git pull:将远程仓库的修改更新到本地
git push origin master:将本地仓库同步到远程仓库
git push origin --delete :删除远程分支
git remote prune origin --dry-run:查看哪些远程分支需要清理
git remote prune origin:清理失效的远程分支
git reset HEAD^:回退到上个版本,commit 信息回退,修改还在
git reset --hard HEAD^:彻底回退到上个版本,commit 信息和修改都回退
git tag:列出当前分支的标签
git tag :新建标签
git tag :删除标签
git show :查看标签对应的提交信息
git push origin :将tag同步到远程仓库
git push origin --tags:将本地所有tag都同步到远程仓库
Git操作:在多个分支之间,使用git am打patch和同步分支

git commit -m '提交信息' --no-verify
参考文章:git 快速清理本地分支_Git的常用命令_weixin_40001275的博客-CSDN博客
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
我有一个问题。我想从另一个ruby脚本运行一个ruby脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密
有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/
如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最
我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正
在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa