您的位置:首页 > 运维架构 > Linux

关于git的一些用法

2015-09-05 21:26 543 查看
以前用过一段时间的svn,今年这个项目用的是git,这篇文件记录一些自己用过的命令和遇到的情况,仅作参考。
目前关于git,用到最多的就是下面这几条命令:
git pull
git commit, git commit -asm “  log  ”
git push
嗯,还有个几个:
git log
git diff
git status
哈哈哈,真够少的,今后再碰到什么再加吧,现在先占个位置。
10月21日补:
git撤销add:
例:git add t1.cpp t2.cpp
之后你想撤销对t1.cpp的add,那么只需要
git reset HEAD t1.cpp
就好了。
当然,前提是你还没有commit。
这两天改代码,改完之后发现不合适,干脆删掉文件或者重命名做参考,
于是直接git checkout <filename>重新down一个下来,简单粗暴直接,哈哈。

10月27日补:

git branch               查看本地分支
git branch -a           查看远程分支

11月4日补:

如何撤销已经commit到本地,但是尚未push到server的更改:git reset ${versionID}指定好要恢复回去的版本号即可,这个时候已经更改过的内容还是在本地,但是版本已经回到了指定的版本。如何对比两个版本有哪些文件被改变而不显示具体细节:git diff --stat ${versionID_01} ${versionID_02}注意stat之前是两个横杠“ - ”

11月6日补:

有时候习惯用以下命令提交代码:git     commit    -asm     “the message you want input”后来发现这样会把不想提交的东西一起提交上去,今天才发现,问题出在里面这个 a 这个参数上,这里等同于 git   -add (其实我还是不太确定这个a 是add 还是all。。。。。哈哈)

11月30日补:

有时候在merge或者checkout的时候会遇见如下的错误:checkout error:error: Your local changes to the following files would be overwritten by checkout:xxxxxxx
	xxxxxxxPlease, commit your changes or stash them before you can switch branches.Aborting
merge error:
error: Your local changes to the following files would be overwritten by merge:
xxxxxxxx
Please, commit your changes or stash them before you can merge.
Aborting
其实人家git以及给你指明了解决方案,----> git stash
git stash 可以将为提价的修改保存在当前分支的当前版本下,准确来说是暂存在栈里,这是条简化版的命令;
git stash save “ message log” 上条命令的精确版,可以写log;
git stash list 可以列举最近几次stash操作的信息,分支、版本号、log等;
git stash show stash@{0} 列举索引为0(即最近一次)的stash操作具体信息,比如修改了那些文件,修改了多少,具体内容看不到;
git show stash@{0} 则是列举索引为0的stash操作的详细内容,个人猜测,实际上内部调用了git diff 的命令,与git diff效果一样;
git stash pop 恢复最近一次stash操作即本命令前索引为0的stash操作,并在stash栈中删除;
git stash pop stash@{0} 恢复指定索引为0的stash操作,并在stash栈中删除;
git stash drop 删除stash栈中内容,默认为最近一次stash操作;
git stash drop stash@{0} 从stash栈中删除指定索引为0的stash操作;
git stash clear 清除stash栈中所有内容;
其实stash的操作还能更精细,但是我没有研究过,等今后用到在写吧,这个是这两天碰到的情况。
12月1日补:
如果已经merge了却想取消怎么办,老办法:
git reset --hard ${VersionGuid}
恩,就这么回事儿。2017年9月14日补:如何push指定的某个commit到指定branch:git push origin [commit-id]:<branch-name>

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux git