日常操作
显示所有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
子工程的修改与提交
首先正常修改主工程和子工程。主工程与子工程要分别单独提交。
子工程的提交
—解决合并
子工程提交后,主工程会产生一个与这个子工程相关的提交,用于将标记使用了子工程的某个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>