断弯刀

导航

git命令

 

基础命令

  git diff 比较的是工作区和暂存区的差别
  git diff --cached 比较的是暂存区和版本库的差别
  git diff HEAD 可以查看工作区和版本库的差别

 

$ git init

$ git clone git@github.com:duanwandao/test001(项目名).git               //从服务器上克隆到本地,如果服务器上面已经有项目了,直接使用这个命令clone到本地进行使用。

$ git diff <filename>          //     输入q退出                           Git查看版本改动—— git diff    https://blog.csdn.net/asheandwine/article/details/78982919

$ git add   readme.txt        $ git add .       //添加单个文件,添加全部

$ git commit -m "wrote a readme file"

 

git pull origin master       //从已存在的远程仓库下载到本地

$ git push origin master              //把已经修改的文件push到服务器    git push --tags --push所以缓存到本地服务器的文件

$ git checkout -- readme.txt       //直接回退

 

$ git reset commit_id     //完成Commit命令的撤销,但是不对代码修改进行撤销。想在从新提交需要再add  然后commit

$ git reset --hard 1094a (sha1版本号几位  commit_id)       //将当前远程HEAD、暂存区和工作区为commitid对应的提交   回退到上一个commit节点, 代码也发生了改变,变成上一次的

$ git reset HEAD readme.txt        $ git reset --hard HEAD^ HEAD~100 (数字版本)     //  例如当add*之后,后悔了,可以reset head readme.txt   来取消暂存(工作目录不会被修改)

$ git reset --soft  commitid      // 只更新远程HEAD

$ git reset --hard origin/master            //将本地的状态回退到和远程的一样   

 

$ git log     //日志

$ git log --pretty=oneline      //简化查询日志

$ git reflog      //查看所有commit历史

$ git remote -v                  //要查看远程库的详细信息 

 

创建与合并分支

$ git branch -a          //查看分支

$ git checkout -b dev        //    git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令 git branch dev      git checkout dev

$ git merge dev          

$ git merge fz1 -m"合并分支1"

$ git merge --no-ff -m"主master合并修复bug分支"  issue-101    //这种模式下,删除分支后,不会丢掉分支信息

$ git branch -d dev

$ git log --graph              //分支合并图      下面简洁版

$ git log --graph --pretty=oneline --abbrev-commit     

$ git log --pretty=raw HEAD        查看每个commit的具体详细信息

 

$ git reset --merge              //撤回到merge前

$ git stash        //工作只进行到一半,还没法提交. 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

$ git stash save "哈哈"          //这样到时候查看可以显示信息,方便查阅

$ git stash list       //查看工作现场

$ git stash pop       //恢复工作现场,并自动删除stash缓存

$ git stash apply      或者     $ git stash apply stash@{0}     //恢复工作现场,不删除stash            git stash drop   删除

$ git show stash@{1}          //显示信息

 

 

首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

  GIT 分支管理:创建与合并分支、解决合并冲突            https://www.cnblogs.com/wangmingshun/p/5425150.html

远程仓库

查看远程仓库信息

$ git remote -v

添加远程仓库

$ git remote add origin https://github.com/duanwandao/pinyougou.git

 

用户

用户名和邮箱地址的作用

用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。

每次commit都会用用户名和邮箱纪录。

github的contributions统计就是按邮箱来统计的。

 查看用户名和邮箱地址:

$ git config user.name
$ git config user.email

修改用户名和邮箱地址:

$ git config --global user.name "username"
$ git config --global user.email "email"

git客户端启动“分块”请求的默认大小为1MB,当上传大体积项目时,可以改变这个设置:

git config http.postBuffer 524288000    //单位为字节

此示例将postBuffer设置为500MB。  

 

git 书籍资料

-《Pro Git》 作者Scott Chacon是github的员工,git的布道者,这本书被誉为git学习圣经,中间有好多插图描述的浅显易懂,挺适合详细学习下的,最新英文第二版《pro git (Editon 2)》;

-《Git Community Book》汇聚了Git社区的很多精华, 并对git的对象模型原理等做了解释,可以深入的了解下git原理;

2015-01-22 增加

2015-04-05 增加 git flow 工具

          git stash 用法                https://www.cnblogs.com/yanghaizhou/p/5269899.html

 git 官方中文文档             https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93                    https://book.git-scm.com/docs

猴子都能懂得git教程      https://backlog.com/git-tutorial/cn/contents/
Git使用详细教程     https://blog.csdn.net/youzhouliu/article/details/78952453

 

posted on 2018-09-25 21:11  断弯刀  阅读(239)  评论(0编辑  收藏  举报