• Linux+Git命令


    Linux

    文件与目录

    cd命令:

    $ cd [path] //path为路径名称,这只是常规语法

    1

    详细用法如下:

    $ cd /d //进入d盘

    $ cd d: //进入d盘

    $ cd D: //进入d盘

    $ cd /D //进入d盘

    $ cd ..   //返回上一级目录

    $ cd ../  //返回上一级目录

    $ cd ../../  //返回上两级目录

    $ cd .    //切换到当前目录,通常没有任何反应

    $ cd ./   //切换到当前目录,通常没有任何反应

    $ cd      //不要以为看错了,确实就只有一个“cd”,它表示切换到个人主目录(类似于切换到window的桌面,但又不是桌面)

    $ cd -   //返回上次访问目录(即倒退到上一次目录位置)

    $ cd /d/loushengyue/study  //进入d盘中的loushengyue目录下的study目录

    ls命令:

    $ ls  //查看当前目录中的文件夹及文件

    $ ls -l  //查看当前目录下的文件和文件夹的详细资料

    $ ls -a  //查看当前目录中的文件夹及文件(包括隐藏文件)

    $ ls -la //查看当前目录下的文件和文件夹的详细资料(包括隐藏文件)

    pwd命令:

    $ pwd  //显示当前目录路径

    1

    rm命令:

    $ rm test.js -rf  //删除当前目录下的 test.js 文件

    $ rm ./test.html -rf //删除当前目录下的 test.html 文件

    $ rm ../test.css -rf //删除上一级目录下的 test.css 文件

    $ rm test/ -rf //删除当前目录下的 test 文件夹

    $ rm tst/tt.js -rf //删除 tst 目录下的 tt.js 文件

    mkdir命令:

    $ mkdir ./test //在当前目录下创建 test 文件夹

    $ mkdir ../test //在上一级目录下创建 test 文件夹

    $ mkdir ./test/son //在当前目录下的 test 目录下创建 son 文件夹

    $ mkdir ./tst1 ./tst2 //在当前目录下创建 tst1 和 tst2 文件夹

    mv命令:

    $ mv dir new_dir //当前目录下没有 new_dir 时表示将 dir 移动到当前目录下并重命名为 new_dir, 当前目录下有 new_dir 文件夹是表示将 dir 移动到 new_dir 目录中

    cp命令:

    $ cp test.js newtest.js //复制当前目录下的 test.js 到当前目录下并命名为 newtest.js

    $ cp ../test.html ./ //复制上一级目录下的 test.html 到当前目录下(注意这里是./,没有重命名)

    touch命令:

    $ touch ./test.js //在当前目录下创建一个名为 test.js 的文件

    Git

    Git命令行基本操作

    0. 安装Git

    网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseGitlinux建议使用Git GUI或者GITK

    1. Git基本配置

    git config可以配置git的参数,可以使用git config --list查看已经配置的git参数。其中有三个级别的保存位置,--system--global--local,分别表示所有用户(本系统)、当前用户(全局)、本地配置(当前目录),默认使用--local

    配置用户名及邮箱

    在使用Git提交前,必须配置用户名和邮箱,这些信息会永久保存到历史记录中。

    git config --global user.name "Tocy"

    git config --global user.email zyvj@qq.com

    其他配置

    如果在windows下建议还是配置下默认文本编辑器core.editor和差异分析工具merge.tool

    2. 创建Git仓库

    可以直接调用git init初始化当前目录,即创建Git仓库。

    3. 获得Git仓库

    如果需要克隆远程仓库,可以使用git clone,比如:

    git clone https://git.oschina.net/Tocy/SampleCode.git

    4. 提交更新

    windows下的Git GUI中,提交很简单,右键-TortoiseGit-Commit。那么命令行下需要怎么处理?
    Git中每个文件都有三种状态:committedstagedmodified。它们之间关系如下:

    commit <-- stage <-- modify
    commit --> --- --modify

    我们获取的Git仓库中的所有文件都是committed状态,如果你在本地修改了文件aa的状态就变成modified的;如果使用git add aa的状态变成staged;如果使用git commita的状态就变成commited。这种状态变化也说明复制代码是很方便的,但是提交更新请慎重。
    当然还有一种文件状态,未跟踪状态(unversioned/untracked),通过使用git add可以把未跟踪状态变更为staged;通过git rm可以将staged或者committed状态变为未跟踪状态。

    git status

    通常提交前先检查下修改了什么内容,当前Git目录下各文件的状态。

    $ git status

    On branch master

    Initial commit

    Untracked files:

      (use "git add <file>..." to include in what will be committed)

            Readme.md

    nothing added to commit but untracked files present (use "git add" to track)

    git add

    git add可以添加文件或者目录,也可以使用通配符。比如:

    git add Readme.md    # add file only

    git add *.cpp        # add all cpp files

    git add /home/code/  # add all files in /home/code

    git diff

    git diff可以查看当前目录的所有修改。
    提交之前,还是单独确认下处于staged状态的文件有哪些,并保证修改正确。在实际应用中,可能还需要使用git diff导出PATCH做代码走读。
    可以使用git diff --stagedgit diff --cached查看staged与上次提交快照之间的区别。

    git commit

    提交前需慎重。直接调用git commit会弹出编辑器,输入提交日志(如果是多行日志,建议使用)。
    针对单行日志提交的情况,可以使用如下命令:git commit -m "add readme"
    还有一种快捷的提交方式,直接跳过stage缓存区,直接提交当前目录下的所有修改git commit -a(使用这个命令前建议确认下当前目录的修改是否正确、必须)。

    git rm

    git rm会把文件从当前目录删除(不会保存删除的文件)。如果需要从Git仓库中删除,但保留在当前工作目录中,亦即从跟踪清单中删除,可以使用git rm --cached readme.md

    5. 提交历史查看

    可以使用git log查看当前工程的所有提交的日志。

    git log --stat      # 仅显示摘要选项

    git log --pretty=oneline        # 定制记录格式

    git log --graph     # 图像化分支和版本更新

    6. 撤销更新

    7. 远程仓库

    可以使用git remote查看当前的远程库。
    git remote -v可以显示对应的克隆地址。(对于多个远程仓库很有用)

    添加远程仓库

    git remote add [short_name] [url]可以添加新的远程仓库。

    从远程仓库抓取数据

    git fetch [remote-name]可以从远程仓库抓取数据到本地。
    也可以使用git pull

    推送数据到远程仓库

    git push [remote_name] [branch_name]
    默认使用originmaster

    查看远程仓库信息

    git remote show origin

    远程仓库的删除和重命名

    git remote rename [old_name] [new_name]
    git remote rm [remote_name]

    8. Tags

    可使用git tag显示当前库中的标签。

    添加标签(含附注)

    git tag -a v0.1 -m "my version 0.1"
    使用如下命令查看Tag日志信息(指定对应标签的名字)
    git show v0.1
    也可使用SHA-1的提交表示创建tag
    git tag -a v0.2 [SHA-1] -m "my version 0.2"

    分享标签

    默认的,git push不会推送标签信息到远程仓库,需要通过命令显式推送。
    git push origin v0.1
    如果需要推送所有标签,使用
    git push origin --tags

    9. Git分支

    git分支是轻量级的,速度很快,仅记录索引信息。

    显示所有分支

    使用git branch可显示当前所有分支。
    可以使用--merged--no-merged查看已经合并、未合并的分支。

    创建及切换分支

    可以使用下面命令直接切换并创建分支
    git checkout -b testing
    等价于

    $ git branch testing    # 创建testing 分支

    $ git checkout testing  # 切换到testing分支

    注意切换分支时请保持工作目录没有未提交的修改。Git鼓励使用分支,处理完问题之后合并分支即可。

    分支合并

    hotfix分支合并到master(主分支)上,需要通过下面命令:

    $ git checkout master

    $ git merge hotfix

    合并之后可以使用git branch -d hotfix删除分支。
    如果合并时存在冲突,需要手工修改。

     

  • 相关阅读:
    少写代码帮你模块化方法 & 运动框架 & 简化轮播图
    JQ
    弹框&可用于判断
    移动端内容区域滚动做法总结
    数组这回事
    Bootstrap & 响应式
    谈谈this对象
    模态框中水平垂直居的问题
    图片的懒加载问题
    js中运动框架的封装
  • 原文地址:https://www.cnblogs.com/lenlen/p/10113517.html
Copyright © 2020-2023  润新知