Git命令使用宝典教程

来源:互联网 发布:windows git 自动更新 编辑:程序博客网 时间:2024/05/29 23:22
----------git使用--------------

1: git clone git@gitlab.niceprivate.com:back/coolly-nice.git
2: cd coolly-nice/
3: git branch userRecommend   (创建一个分支,和在git上一样建的名字)
4: git checkout userRecommend  (切到刚创建的分支)
5: git pull origin master   — -合并主干代码到本地
6: git push origin userRecommend  - -分支推到自己对应的远程库分支
7: git add leyagjun.php
8: git commit -m ‘myCodeCi’

git status 查看状态(看下是否有文件被修改)

git blame leyangjun.php  查看文件被修改过的纪录(能后 "git show 分支id"  查看日志就行) 


切换分支:
    1:git branch leyanjunCheckToken
    2:git checkout leyanjunCheckToken
    3:git pull origin master
    4:git pull origin leyanjunCheckToken
    5:git push origin leyanjunCheckToken

二:版本回退和日志查看
git log --pretty=oneline 等同于 git log 提交日志(列出的日志格式不一样)
git log -p 7aee80cd2afe3202143f379ec671917bc86f9771 版本日志
git show 7aee80cd2afe3202143f379ec671917bc86f9771    

git reset --hard HEAD^   回退到上一个版本
git reset --hard 3628164 回退到指定的版本
git reflog     记录你的每一次命令(可以找到版本ID commit id号)

三:工作区和暂存区
git diff HEAD -- readme.txt   查看工作去和版本库里面最新版本的区别
git checkout -- readme.txt    文件在工作区的修改全部撤销,没有--表示切换分支(分两种情况):
    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
    总之,就是让这个文件回到最近一次git commit或git add时的状态。

git reset HEAD readme.txt   把暂存区的修改回退到工作区head表示最新的版本(reset也可以回退版本)
git checkout —- readme.txt  将工作区修改的内容撤回(可以不用--也行)


删除文件->在对应删除版本库中的文件
rm test.txt -> git rm test.txt —> git commit -m “remove test.txt”  删除版本库中的文件,记得要提交

删错了想恢复文件:
git checkout —- test.txt   因为版本库里还有能后拉回来,但是删除后能后还提交了就拉不回来了


四:远程仓库
1:可以免费注册个GitHub账号进行托管 我的[https://github.com/leyangjun/]
A:添加远程仓库:
    要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

B:从远程仓库克隆:
    git clone git@github.com:leyangjun/gitskills.git


五:分支管理
A 创建分支与合并分支:
    git branch   查看分支
    git checkout -b leyagjun  等同于 git branch leyangjun + git checkout leyangjun
    git merge test      合并指定的分支到当前分支
    git branch -d test  删除指定分支

B 解决冲突:
    当主分支的代码与本地开发分支的某个文件修改冲突时,会出现合并冲突
    git merge test
    冲突的解决方法:vim chongtu.txt  编辑冲突的内容能后保存+add+commit
    git log --graph --pretty=oneline --abbrev-commit   分支合并情况

    合并分支第二种方式:
        git merge --no-ff -m "merge with no-ff" dev   (请注意--no-ff参数,表示禁用Fast forward模式)
        git log --graph --pretty=oneline --abbrev-commit    查看合并情况
        git branch -D test-branch   丢弃一个没有被合并过的分支,强行删除

C 多人协作:
    git remote        查看远程库的信息
    git remote -v     显示远程库更详细的信息
    git push origin master/本地分支   把该分支上的所有本地提交推送到远程库

    正常流程:
        1:git clone git@github.com:leyangjun/learngit.git

D 标签管理
    git tag v1.0   切到需要打标签的分支上,tag命令打标签
    git tag v1.0   查看标签
     git tag        查看所有标签
    git log --pretty=oneline --abbrev-commit   查看历史提交的commit id,能后大分支(第二种方法打标签)
    git tag v0.6 943432     上面方法找到对应的commit id能后打标签

    git tag -d v0.1        删除标签
    git push origin v1.0   将标签推送到远程
    git push origin —-tags 推送所有标签到远程
    如果标签已经推送到远程,要删除的方法:
        git tag -d v0.9      先本地删除标签
        git push origin :refs/tags/v0.9   能后删除远程标签

E 自定义git
    git config —-global color.ui true    让git显示颜色


       忽略特殊文件:
        忽略某些文件时,需要编写 .gitignore 文件
        有时候一些特殊的文件被过滤了,会提示提交不了
        git add leyangjunApp.class   加入这个文件被过滤了又想要提交
        git add -f leyangjunApp.class  -f表示强制添加到git
    
        git check-ignore -v leyangjunApp.class   git会告诉你。gitignore的第几行规则忽略了该文件
     
    配置别名:
        比如你觉得git status这个单词不好记, 你就可以跟进自己的设置定义别名
        git config --global alias.st status      这时候 git st = git status
        git config --global alias.co checkout
        git config --global alias.ci commit
        git config --global alias.br branch
        git config --global alias.unstage 'reset HEAD'   撤销的别名    
    
    配置文件:

        cat .git/config

 

   切换到线上某个分支:

git checkout -b leyangjun_test origin/leyangjun_test

   重新命名:

        git branch -m oldbranchname newbranchname


 git回滚:
      git reset --hard ca7b87335c42eb45449bc2bc48553610f91db327
      git push -f origin master 

原创粉丝点击