• git使用散记


     1、从远程clone一个项目
    git clone ‘项目地址’ //clone项目地
    git checkout -b dev origin/dev //远程已有dev分支,新建本地dev分支与远程相对应
    git add . //加到暂存区
    git commit -m '解释' //提交到分支上
    git pull //拉取远程的内容
    git push origin dev //远程没有dev分支,直接推送并在远程建立了dev分支 (前提是本地必须有dev分支,可以在本地的其他分支上push到远程的dev分支)
     2、把本地项目和远程的项目相关联
        git init  //本地初始化一个  ---别忘了把ssh的公钥  加到远程的setting里    
    git remote add origin '远程地址' //把本地仓库和远程仓库相关联
    git push -u origin master //把本地所有的都推送到远程上,顺便本地master分支和远程master分支相关联
    //readme通常会冲突 fatal: refusing to merge unrelated histories
    git pull --allow-unrelated-histories //解决

    3、一般本地push不上去,冲突了 ,解决办法
        git push --set-upstream origin dev   //给dev设置上游分支dev,一般本地的dev分支超前   ***这个有点迷糊
    git branch --set-upstream dev origin/dev //建立本地dev分支和远程分支相关联:一般多人提交产生冲突的时候用
    git branch --set-upstream-to=origin/dev dev //让本地dev分支与远程的dev相对应
    4、建分支和切换分支
       git branch a     //创建a分支
    git checkout a //切换到a分支
    git checkout -b dev //创建并且换到b分支
    git branch //查看本地分支
    git branch -a //查看本地+远程的分支
    git branch -r //查看远程所有分支

    git branch -b dev //删除本地dev分支
    git push origin :dev //删除远程dev分

    5、查看远程
      git remote -v  //查看远程库的信息
    git remote rm origin //删除已有的远程库
    6、查看状态或日志
    git status //查看状态
    git log //查看由近到远的日志
    git log --pretty=oneline //把日志按照一行排版
    git log --graph //查看合并分支图
    git log --graph --pretty=oneline --abbrev-commit //更合理的看分支

    7、合并分支,终止分支合并
      git merge dev  //合并dev分支到当前分支
    git merge --abort //终止合并

    //分支管理策略:Fast forward(删除分支,会丢掉分支信息),禁用Fast forward模式,git会在merge的时候生成一个新的commit,从历史可以看出分支信息
    git merge --no-ff -m '解释'
    git log --graph --pretty=oneline --abbrev-commit //no-ff:是no-fast forward的缩写 git reset --hard HEAD^ //回退到上 git reset --hard 'com_id' //根据com_id版本号回退到未来的某一版本 git reflog //用来记录每一步操8、撤销和回滚 ,还原到原来的历史版本
      git checkout -- test.txt   //把test.txt文件在工作区的修改全部撤销,就是让这个文件回到最近一次git commit 或git add的状态
    git reset HEAD test.txt //把add过的代码回退到最初状态,也可以把暂存区的修改回退到工作区

    rm test.txt //删除文件
    git rm test.txt //git删除本地的test.txt 后面接着git commit 则直接删除远程的

    9、生成密钥
    git ssh-keygen -t rsa -C '909340112@qq.com' //生成密钥

    10、保存当前代码状态
    git stash //进行缓存一下
    git stash pop //进行回溯+删除stash

    11、创建过滤文件
    touch .gitignore //创建过滤文件 在根目录创建此文件,里面写一些正则,过滤掉你已经修改并不想提交的文件
    git add -f test.txt //强行提交被过滤的文件
    git check-ignone -v app.class //查看

    12、解决.gitignore过滤文件不生效
      git rm -r --cached . 
    git add .
    git commit -m 'commit log info

    13、标签管理:先切到自己想要的分支==》然后打标签
    git checkout dev //切换到dev分支
    git tag v1.0 //给dev分支打上v1.0标签
    git tag //查看tag标签
    git show v1.0 //显示标签的v1.0的信息

    14、配置别名:
    git config --global alias.st status //给status别名st
    git st //相当于git status

    git config --global alias.co checkout //checkout -->co
    git co //相当于git checkout

    git config --global alias.br branch
    git config --global alias.unstage 'reset HEAD'
    git config --global alias.last 'log-1'
    cat .git/config //在这个文件里进行配置
    15、对文件的一些命令操作
    pwd:查看文件目录
    vi test.txt //进入到test.txt,点insert进入编辑==》点Esc退出编辑==》:wq+回车 强行退出

        :wq 保存并退出

        :w 保存文件但不退出vi

        :w file 将修改另外保存到file中,不退出vi

        :w! 强制保存,不推出vi
        :wq 保存文件并退出vi
        :wq! 强制保存文件,并退出vi
        q: 不保存文件,退出vi
        :q! 不保存文件,强制退出vi
        :e! 放弃所有修改,从上次保存文件开始再编辑




    *****:表示比较常用的


  • 相关阅读:
    并查集基础练习
    HDU1232——畅通工程
    二分答案——划分数列
    二分答案——收入计划
    动态规划练习题(2)
    动态规划程序设计2
    动态规划练习题(1)
    0/1背包
    P5024 保卫王国[倍增+dp]
    UVA11424 GCD
  • 原文地址:https://www.cnblogs.com/lmxxlm-123/p/9209867.html
Copyright © 2020-2023  润新知