linux git操作方法
1.git 安装与使用:见博客 http://blog.csdn.net/azhegps/article/details/53993629
2.git 代码提交与查看状态
git status
git diff
git status
git commit 文件名
git push
3.git 分支切换
1)查看远程分支 git branch -a
2) 查看本地分支 git branch
3) 查看本地分支关联的远程分支 git branch -vv
4) 新建本地分支 git checkout -b dev
5)本地分支与远程分支建立关联 git pull orgin dev
4和5 可以合并为一句 git checkout -b dev origin/dev
如果没有切换过去;直接调用 git checkout dev
6) 新建远程分支:git push origin dev:dev
7)删除远程分支 git push origin :dev
8) 删除本地分支 git branch -d dev 如果分支还未合并到当前分支:git branch -D dev
强制删除。
4.解决冲突的办法(灵活运用git stash)
上述push commit pull checkout 都涉及到冲突的解决
我的方法:
在 pull 其他分支,或checkout 到其他分支时,都优先 使用git stash 命令
这样:pull和 checkout 都不存在冲突,可以完整的更新代码,也不会出现一些乱七八糟的提示.无法更新远程的最新代码
然后 下面开始操作stash内容
1) git stash ,占存本地更改代码
2) git stash pop 弹出最近的更改到本地,注意,此时,会出现冲突,手动解决.这些冲突都是你自己改的,冲突比较好解决
3)查看 stash列表 git stash list ,如下
stash@{0}: WIP on broadcaster_dev: *********
stash@{1}: WIP on mcu_dev_publisher: ******
stash@{2}: WIP on mcu_dev: 7630cc4ec******
stash@{3}: On test_1120: 暂存以拉取代码
4)git stash apply stash@{1} 合并stash 1 到本地,合并其他的stash 采用同样的方法
5) git stash drop stash@{1} 删除stash 里的 stash@{1}记录, 如删除最上层记录,直接 git stash drop
6)git stash show -p stash@{1} 查看stash与本地内容的不同(文件)默认行为是--stat
查看具体内容:git stash show --patch,次用法参数与git diff 一样
5.查看本地分支与远程分支的差异
1)查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异
git diff --cached
git diff --staged
2)直接将两个分支上最新的提交做diff
git diff dev master 或 git diff dev..master
3) git diff readme.txt 比较文件的差异
4)git diff branch1 branch2 --stat 显示出所有有差异的文件列表(不需要详细信息)
6 最后救急 :git reset 命令
1) git reset –soft 只撤销commit,保留working tree和index file。
2) git reset –hard 撤销commit、index file和working tree,即撤销销毁最近一次的commit
3 git reset –mixed 撤销commit和index file,保留working tree
4) git reset和git reset –mixed完全一样
5) git reset –用于删除登记在index file里的某个文件。