• git命令大集合


    git 忽略配置

    全局忽略DS_Store:
    
    1.vi ~/.gitignore_global 
    在gitignore_global中写入: 
    .DS_Store 
    */.DS_Store 
    2.vi ~/.gitconfig 
    配置.gitconfig 文件如下: 
    [user] 
    name = xiaoronglv 
    email = xxxxx@gmail.com 
    [push] 
    default = matching 
    [core] 
    excludesfile = /Users/holy/.gitignore_global 
    其中:/Users/holy 可以在命令行输入pwd即可查看。

    详见:http://blog.csdn.net/que_li/article/details/52918545

    git 使用整理

    密钥生成

    cd ~/.ssh       //检查本机中是否有公钥信息
    mkdir key_backup
    cp id_rsa*key_backup        
    rm id_rsa       //删除已有公钥
    "新生成公钥"
    ssh-keygen -t rsa -C "git注册账号邮箱"        //回车后会让输入用户名,再回车输入密码,在是确认密码
    cat ~/.ssh/id_rsa.pub  //显示刚生成的公钥
    
    /*将公钥添加到本地*/
    <windows>
    clip < ~/.ssh/id_rsa.pub
    <Mac>
    pbcopy < ~/.ssh/id_rsa.pub
    <Linux>
    xclip -sel clip < ~/.ssh/id_rsa.pub
    然后在 .ssh文件中的 id_rsa就为公钥
    把公钥添加到coding中
    然后运行 ssh -T git@git.coding.net 看是否已经联通

    上传文件到项目

    电脑中创建一个空文件,不要以中文命名。
    打开电脑cmd命令框
    cd 文件目录 //配置文件根目录
    git init            //初始化
    git remote add origin 远程项目地址        //链接远程服务器
    git add .       //上传目录下所有文件
    git commit -m "第一次上传"       //提交,并注释
    git pull origin 分支      //链接远程主机分支到本地
    git push origin master      //上传本地所有文件到master分支
    git push -u origin 分支       // 当远程存在多个分支时,使用-u

    本地分支

    git branch      //查看本地所有分支
    git branch xxxx //创建xxxx分支
    git checkout xxxx   //切换到分支xxxx
    git branch -d xxxx  //删除本地xxxx的分支,注意需要在非删除分支下
    
    切换分支时提示you need to resolve your current index first
    git reset --merge

    克隆代码到本地

    git clone 远程地址  // 下载远程代码到本地
    git clone 远程地址 -b xxxx  // 克隆远程某分支上的代码,xxxx为分支名

    删除文件

    clone远程文件后,删除需要删除的文件,然后
    git add --all

    删除远程仓库文件及文件夹

    git rm -r --cached ignore_file //删除缓存
    git rm -r --cached a/2.txt //删除a目录下的2.txt文件   
    git rm -r --cached a // 删除a目录
    git commit -m "删除a目录下的2.txt文件" 
    git push

    查询跟踪

    git status
    反馈:
        nothing to commit,working directory clean       //  没有提交,项目很干净
        changes not staged for commit       // 有红字提示,项目被修改,但是未被暂存
        changes to be committde     // 绿字提示,项目已经被暂存

    远程库操作

    git remote      // 列出远程分支
    git remote -v       // 列队远程分支对应的url
    git remote add xxx url      // 创建远程地址为url的xxx分支
    git remote remove xxx   //删除远程分支xxx
    git remote set-url xxx url      // 将xxx的远程地址变更为url

    config,设置多个密钥到本地

    //第一个密钥使用默认形式,第二个密钥配置如下
    Host gitlab地址 andy  // andy为需要的名称
    HostName gitlab地址
    User git
    Port 22
    IdentityFile ~/.ssh/gitlab_id_rsa   // 密钥地址

    rebase

    https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase
    https://www.atlassian.com/git/tutorials/merging-vs-rebasing

    多分支操作合并到master

    // 自己的工作分支
    git checkout xxx
    
    // 提交工作分支修改
    git commit -a
    
    // 回到主分支
    git checkout master
    
    // 获取远程最新的修改,不会产生冲突
    git pull
    
    // 回到工作分支
    git checkout xxx
    
    // 合并主干修改,如果有冲突在此时解决
    git rebase master
    
    // 回到主分支
    git checkout master
    
    // 合并工作分支的修改,此时不会产生冲突
    git merge xxx
    
    // 提交到远程主干
    git push

    删除远程分支

    git push --delete origin xxx        //删除远程上xxx的分支

    清空缓存栈

    git stash clear

    node_modules过长无法删除

    rm -rf node_modules/

    push tag发布

    git tag publish/版本号
    git push origin publish/版本号

    切换分支

    $ ~/ccbin/mkview.sh  切换分支

    项目相关命令

    ##ssh三方访问工具SecureCRT 一般口令
    ssh admin@服务器地址
    * 服务器名称:admin
    * 密码:
    * cd ccbin  切换到ccbin文件
    * ./ccupdate.sh 更新服务器 
    * ./ccupdate.sh && ./build.sh && ./deploy.sh
    * 错误日志  
    * cd logs/appstore 切换到对应项目日志
    * ls 查看日志列表
    * tail -f common-error.log 
    * 修改antx
        * vim antx.properties
        * i修改 :w 保持 :q 退出
        * ls 查看目录下的内容
        * tail -200f common-error.log 查看错误日志

    删除文件夹

    * cd /usr/local/bin 切换路径
    * sudo rm -rf /usr/local/bin/tnpm 删除tnpm文件夹


    创建并切换到本地分支 

    * git checkout -b 【本地分支名】 origin/【远程分支名】

    删除.git 重新初始化git(delete the old .git history and initialize new history)

    $ rm -rf .git
    $ git init

    检出命令

    * git clone -b 【本地分支名】【远程分支名】

    合并分支:

    * git branch 查看本地分支
    * git branch -a 查看分支详情(本地分支及远程分支)
    * git checkout 目的分支(如master)
    * git merge 待合并分支(如branch1)【即将branch1分支合并到master】
    * git push origin master 将合并后的代码推送到远程分支


    回滚版本

    * git log 查看提交版本
    * git revert 版本号 将本地库回滚到该版本号之前的版本(即取消该版本及之后的提交)
    * 解决冲突
    * git add . && git commit -m “” && git push 重新提交版本之前的代码

    删除分支

    * git branch -D br 删除本地分支
    * git push origin :br  (origin 后面有空格) 删除远程分支

    【远程代码库回滚】:

    这个是重点要说的内容,过程比本地回滚要复杂
    应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
    原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
    操作步骤:
    1、git checkout the_branch
    2、git pull
    3、git branch the_branch_backup //备份一下这个分支当前的情况
    4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id
    5、git push origin :the_branch //删除远程 the_branch
    6、git push origin the_branch //用回滚后的本地分支重新建立远程分支
    7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

     http://www.jianshu.com/p/8f0433090e2b?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io  Git详解以及使用遇到问题解决

     

    Git stash 命令

    git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
    git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
    git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
    git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

    一、For Windows

    • 下载地址:http://msysgit.github.io/
    • 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
    • git 配置(其实是为常用命令创造别名)
      $ git config --global user.name "Your Name" 

    •   $ git config --global user.email "email@example.com"



    —global 这个参数是说明,当前设备上的所有Git都会使用这个配置。

    • 创建版本库
      $ mkdir abc //创建目录 abc

    •   $ cd abc //进入 abc 目录

    •   $ pwd //显示当前目录

    •   执行结果:/Users/userName/abc



    • 将abc目录变为某项目的版本库目录
      $ git init //初始化,会生成一个 git文件夹,注意别动改文件夹下内容。用于跟踪管理版本

    •   执行结果:Initialized empty Git repository in /Users/userName/abc .git/



    • 新增文件
      $ git add README.MD  //当前目录下,创建README.MD

    •   $ git commit -"123123" //添加备注,并添提交至git仓库

    •   对于 git config -"" 的省略,可以为 git c



    commit是批量型提交,但add确是需要多次添加一个文件

    • 查看状态

    $ git status

    • 关联远程库
      $ git remote add origin 远程库地址 //远程库地址是托管平台创建代码库时所生成的xxxx.git



    主要用于对代码托管平台进行维护,github、coding

    • 更新远程代码到本地
    • git clone xxx.git库地址

    •   git pull origin master



    • 将git仓库的项目文件,提交至远程库
      git push -u origin master  //将该目录下的文件推送到远端(origin)上的 "master" 分支,第一次提交必须这么写

    •   git push origin master //推送最新修改,第一次之后每次更新可以使用该命令



    • 版本回滚
      git log //输出提交的历史记录

    •   git checkout 9位字符编码

    •   或者

    •   git checkout -b my_previous_version 9位字符编码



    • 删除分支
      git branch -d new_feature//把分支合并到主干分支,从主干(master)分支上发送



      • 假如修已经合并了,那么只会删除分支。假如分支未合并,会得到错误信息。所以需要强制删除
        git branch -D new_feature



     

    • 总的来说
      $ git init

    •   $ git remote add origin xxxx.git

    •   $ git pull

    •   $ git add .

    •   $ git commit -"123123" 

    •   $ git push



    在 git 中忽略文件 gitignore 与 exclude

    常见问题

    • error: failed to push some refs to …
      1. 这是由于远程仓库中代码版本与本地不一致冲突导致的,需要先git pull更新
      2. 如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
      3. 则需要重新输入$ git remote add xxxx.git
    • fatal: remote origin already exists. 
      1. $ git remote rm origin
      2. $ git remote add origin xxxx.git
      3. 如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 我们需要修改gitconfig文件的内容
      4. 找到你的github的安装路径,我的是C:UsersASUSAppDataLocalGitHubPortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8etc.找到一个名为gitconfig的文件,打开它把里面的[remote “origin”]那一行删掉就好了!
    • there is no tracking information
      1. 该问题发生在新创建远程库,进行git pull更新时
      2. git branch —set-upstream master origin/master //这样才可以直接输入git pull 、git push
      3. 否则每次输入 git push origin master || git pull origin master
      4. 最后按以下方式提交
        git add .  

      5.  git commit -"first time add project"  

      6.  git push



    命令一览表

  • 相关阅读:
    线性代数思维导图——3.向量
    微分中值定理的基础题型总结
    构造函数
    Python课程笔记(七)
    0241. Different Ways to Add Parentheses (M)
    0014. Longest Common Prefix (E)
    0013. Roman to Integer (E)
    0011. Container With Most Water (M)
    0010. Regular Expression Matching (H)
    0012. Integer to Roman (M)
  • 原文地址:https://www.cnblogs.com/weilantiankong/p/6144443.html
Copyright © 2020-2023  润新知