02月27, 2017

常用的git命令

  • 常用命令
    git clone git@xxxxxxxxx.git  克隆代码
    git status  查看当前状态(有文件修改什么的会显示)
    git diff  /src/App......aaa.php  查看修改的某个文件 (git status中看到的文件目录)
    git branch -a     #查看本地和远程的全部分支
    git checkout developer   切换到developer分支
    git merge release   把release分支合并到当前所在分支
    git tag -a v1.2.4 -m "version1.2.4-描述“   #打tag并描述(还在本地)
    git push origin --tags  #把本地的tag推到远程仓库
    git reset --hard v1.2.4或者 git reset --hard 3f66824f  #本地当前分支回滚到该tag3f66824f 是该tag的提交id)
    git pull    获取当前分支远程的代码并和本地合并
    git push origin developer  #把本地的developer分支提交到远程的developer分支(远程不存在则生成)
    git branch -d fuyu1.0  //删除分支本地fuyu1.0,如果该分支没有合并到主分支会报错
    git branch -D fuyu1.0   //强制删除本地fuyu1.0
    git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug,  先stash, 使返回到自己上一个commit, 改完bug之后再git stash pop, 继续原来的工作。
    
  • 提交代码流程命令
    git add .     #将所有修改提交到缓存区(本地),等待发送
    git commit -m   #“修改信息(签名) ”  将修改提交到HEAD(本地),并描述做了哪些修改
    git push origin developer   #提交到远端服务器developer分支
    git push --force origin developer #强制把本地developer分支推到远程仓库developer上
    
  • 撤销未提交的修改
    有时候代码写的过于草率,以至于原来正常的功能被我们改出了问题,只要代码还没提交,所有修改的内容就可以撤销,使用checkout命令

    git checkout xx/xxx/xx.php
    

    这样,我们对xx.php这个文件所做的修改就可以撤销了 。不过这种撤销方式只适合那些还没执行过add的文件,如果某个人文件已经被添加过了,这种方式是撤销无效的。对于已经被add过的,我们可以先对其取消添加,在撤回提交,使用reset命令

    git reset HEAD xx/xxx/xx.php
    

    然后再执行一遍git status命令,就能发现这个文件已经变回未添加状态,此时就可以使用checkout命令来进行撤销了

  • 从远程拉代码到本地

    git pull       #获取当前分支远程的代码并和本地合并
    git pull origin fuyu   #远程fuyu分支的代码合并到本地fuyu分支
    git branch --set-upstream-to=origin/develope develope  比如新建了一个分支,推上去后,pull代码的时候报本地的分支没有和线上的分支关联,用这个命令就是本地的develope和本地的develope进行关联
    

本文链接:http://blog.hiraetho.com/post/git-introduce.html

-- EOF --

Comments