Git命令使用笔记

来源:互联网 发布:mac chrome书签位置 编辑:程序博客网 时间:2024/06/03 16:56

设置用户名和邮件地址

git config --global user.name "xuli"git config --global user.email "xuli@mirrtalk.com"

克隆项目:

git clone ssh://xuli@192.168.71.33:29418/supex

创建或切换分支:

git checkout -b devel origin/devel  //创建并切换到创建的分支git checkout kernel  //切换分支

提交的步骤:
1.git add filename #将文件修改添加到本地暂存区
2.git commit -am “提交说明信息” #将文件提交到本地仓库仓库
3.git pull origin devel #将devel与线上的同步以下以下
4.git push origin HEAD:refs/for/devel #devel为自己所在的工作分支分支

线上被abandoned之后的操作:

git reset origin/devel

用git log可以查看提交历史,以便确定要回退到哪个版本。
用git reflog查看命令历史,以便确定要回到未来的哪个版。

回退到任意的版本:

git reset --hard [commit id] 

git删除分支:

git checkout otherbranchnamegit branch -D[force to delete][-d not force] deletebranchnamegit checkout -d makenewbranchnamegit pull origin makenewbranchname

git的工作区和版本库的区别:
工作区(working directory):就是电脑上能够看得见的目录目录
版本库(repository):工作区有一个隐藏目标.git,这个不算工作区,而是Git的版本库本库
版本库里面包含来很多东西,最重要的就是称为stage【或者叫index】的暂存区,还有git为我们自动创建的第一个分支master和指向master的HEAD指针

提交到本地:
第一步git add把文件添加到进去,实际上就是把文件修改添加到暂存区
第二步git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支
【简单理解为:需要提交的文件修改先放到暂存区,然后一次性提交暂存区的所有修改,提交到当前的分支上面】

git checkout Makefile //用暂存区的内容覆盖掉工作区的内容
git checkout . //当前目录下的所有更改都会被暂存区的内容覆盖掉
git checkout HEAD . //当前目录下的所有文件暂存区和工作区的内容会被本地的版本库中的覆盖

git reset HEAD //将提交到暂村区的东西恢复到之前

git ls-tree HEAD //显示当前目录下版本库里面的文件
git ls-files //显示当前目录下暂存区里面的文件

git diff //工作区和暂存区的比较
git diff HEAD //工作区与版本库的比较
git diff –cached //暂存区和版本库的比较

git stash //保存当前的工作进度[包括工作区到暂存区和 暂存区到版本库的改动都全部保存起来]

vim编程的基本配置:
http://www.cnblogs.com/zhanghaifeng/archive/2012/07/16/2592998.html

Git教程 - 廖雪峰的官方网站:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000