git

廖雪峰:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000

git init初始化仓库

git add添加到暂存区

git commit -m保存为快照并提交到版本库

git commit -am相当于git add和commit组合命令

git status查看工作区文件状态

git diff查看文件内容变更详情(和暂存区比较)

...  diff HEAD和版本库当前版本库比较

更多diff详见 :http://www.cnblogs.com/wish123/p/3963224.html

git reset --hard +版本名 重置工作区代码为指定版本

git show 当前版本信息,以及相对于上个版本的改动

git log 版本库信息

git reflog/fsck 检查丢失的提交

git stash将工作区恢复到改动前,并将改动保存起来,以备将来使用

git stash list 查看保存变动的记录,结果 如:stash@{0}: WIP on master: a85cfb2 第三次提交

git stash apply stash@{0}恢复保存的变动

git stash clear 清除对所有变动的保存

注:在用stash apply恢复保存的变动时,如果工作区出现了新的变动,并且已commit,则很可能会造成冲突。

git checkout --+文件名 撤销指定文件的变动 回到最近一次commit或add的代码

git checkout切换分支

git rm -- + 文件名 从工作区删除指定文件,若再commit,则会从版本库里删除,若不commit,而是checkout该文件,则会恢复

 

reset,checkout,revert区别及应用场景:(http://www.cnblogs.com/houpeiyong/p/5890748.html)

命令作用域常用情景
git reset 提交层面 在私有分支上舍弃一些没有提交的更改
git reset 文件层面 将文件从缓存区中移除
git checkout 提交层面 切换分支或查看旧版本
git checkout 文件层面 舍弃工作目录中的更改
git revert 提交层面 在公共分支上回滚更改
git revert 文件层面 (然而并没有)

 

创建项目子树

* 第一次进行配置时,将组件库映射到项目代码库中的指定目录

```
git subtree add --prefix 子树代码存放路径 --squash 子树git地址 分支名称
```

* 在项目代码库中拉取组件库的更新

```
git subtree pull --prefix 子树代码存放路径 --squash 子树git地址 分支名称
```

* 将项目代码库中的更新推送到组件库

```
git subtree push --prefix 子树代码存放路径 --squash 子树git地址 分支名称

 

posted @ 2017-05-22 18:26  土豆何必为难土豆  阅读(151)  评论(0编辑  收藏  举报