的笔记

随时随地编辑

版本管理

日常操作

显示所有git命令
git

查看某个git命令的帮助,例如查看commit
git commit -h

丢弃最近一次的commit
git reset —soft HEAD~1
当commit后发现与远程库冲突,可以使用

查看当前仓库对应的远程仓库地址
git remote -v

查看当前提交状态
git status

丢弃所有
git reset -q —hard HEAD

添加文件
git add -f — filepath1 filepath2

Commit文件
git commit -q —author “user“

Push
git push -v origin master:master

子工程的修改与提交

首先正常修改主工程和子工程。主工程与子工程要分别单独提交。

子工程的提交

  • 首先注意子工程也需要切换到某个分支,例如checkout master
  • 首先更新代码
    git fetch origin
         git pull --no-commit origin master
         

—解决合并

  • 子工程正常提交

子工程提交后,主工程会产生一个与这个子工程相关的提交,用于将标记使用了子工程的某个sha-1快照。

Git撤销本地修改

git reset --soft HEAD~1
  • <占位项1>
  • 如何在 Git 里撤销(几乎)任何操作

  • 查看历史

    git log -p -2
  • p 展开显示每次提交的内容差异
  • 2 最近提交的次数

  • svn文件无法删除

    发生在同时使用2个svn工具自带锁定功能,为了删除使用了“release lock”,“break lock”,“get lock”,代码库直接操作。。。 最后有的文件可以删了,但是最后还是有个文件删除总是无法提交,提示"no lock token available"。
    最后只能去到svn库,删掉“db/locks下所有目录”,才可以提交删除

    Git更新问题

  • You have an old version of git for windows
  • NVPACK安装后会默认将cygwin\bin射到环境变量里,设到环境变量里,于是悲剧了,这个bin下面有个git.exe,版本会灰常老,于是其他git工具会使用这个git.exe去更新git,再加上某匪的网络过滤造成网络环境灰常复杂,于是通过VPN更新会造成灰常怪异的问题。 解决:删了所有cygwin\bin\git相关程序,并且安装官方的git版本。

    删除submodule

  • git submodule deinit
  • git rm --cached
  • 如果不是用命令删除,会造成一些奇怪的问题

    分支更新到主干

    git checkout && git rebase
  • git checkout xxx
  • git rebase master
  • ref:https://stackoverflow.com/questions/8965781/update-an-outdated-branch-against-master-in-a-git-repo

    查看当前所在分支

    git branch
  • 会显示所有分支
  • 当前分支前带*号

  • <占位标题>

    <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
  • <占位项1>
  • <占位项2>

  • posted on 2015-07-24 20:54 的笔记 阅读(245) 评论(0)  编辑 收藏 引用


    只有注册用户登录后才能发表评论。
    网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理