zoukankan      html  css  js  c++  java
  • git常用命令和基本使用

    git常用命令和基本使用

    1、环境配置

    git所有的配置其实都保存在本地配置文件

    • 编辑Git配置文件

      $ git config -e [--global]
      
    • 查看配置

      git config -l
      
    • 查看不同级别的配置

      # 查看系统config
      git config --system --list
      
      # 查看当前用户config
      git config --global  --list
      
    • 设置用户名和邮箱

      • 用户名
      git config --global user.name "kuangshen"
      
      • 邮箱
      git config --global user.email 24736743@qq.com
      

    只需要做一次这个设置,如果你传递了--global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。总之--global为全局配置,不加为某个项目的特定配置。

    2、项目配置

    • 本地仓库搭建

      • 创建全新的仓库,需要在GIT管理的项目的根目录执行

         # 在当前目录新建一个Git代码库
         git init
         # 执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。 
        
      • 克隆远程仓库

        # 克隆一个项目和它的整个代码历史(版本信息)
         git clone [url]
        

    3、文件命令

    • 添加当前目录的所有文件到暂存区

      git add hello.txt # 指定文件
      git add . # 所有文件
      
    • 查看指定文件状态

      git status hello.txt
      
    • 查看所有文件状态

      git status # 详细格式
      git status -s # 简约格式
      
    • 将暂存区文件取消暂存

       git reset . # 取消所有
       git reset hello.txt # 取消指定文件
      
    • 删除文件

      git rm hello.txt # 删除工作区文件
      git commit -m "delete hello.txt" # 提交之后,便删除了暂存区的文件
      

    4、分支命令

    # 列出所有本地分支
    git branch
    
    # 列出所有远程分支
    git branch -r
    
    # 新建一个分支,但依然停留在当前分支
    git branch [branch-name]
    
    # 新建一个分支,并切换到该分支
    git checkout -b [branch]
    
    # 切换分支
    git checkout [branch-name]
    
    # 合并指定分支到当前分支,有时候合并操作不会如此顺利。 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决
    $ git merge [branch]
    
    # 推送至远程分支
    git push origin b1 # origin:仓库名,b1:分支名
    
    # 删除分支,如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D,如果要删除远程仓库中的分支,可以使用命令git push origin –d branchName
    $ git branch -d [branch-name]
    
    # 删除远程分支
    $ git push origin --delete [branch-name]
    $ git branch -dr [remote/branch]
    

    5、代码提交

    • 提交暂存区文件到本地仓库区

      git commit -m "hello git" # 引号内是自定义备注信息
      

    6、查看日志

    git log
    

    7、远程仓库

    • 查看已经配置的远程仓库服务器

      如果想查看已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字

      git remote
      
    • 添加远程仓库

      git remote add my_project https://gitee.com/y-wee/my_project.git # my_project为仓库名,后面跟的是仓库地址
      
    • 移除远程仓库

      git remote rm my_project # my_project为仓库名
      

      注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

    • 抓取远程仓库

      git fetch my_project # git fetch 是从远程仓库获取最新版本到本地仓库,不会自动合并
      git merge my_project/master # 手动合并
      
    • 拉取远程仓库

       git pull my_project master # 从远程仓库获取最新版本并merge到本地仓库
      

      注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories ),解决此问题可以在git pull命令最后加入参数--allow-unrelated-histories

    • 推送到远程仓库

      git push my_project master # my_project为仓库名,master为分支名
      

    8、忽略文件

    有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等在主目录下建立".gitignore"文件,此文件有如下规则

    • 忽略文件中的空行或以井号(#)开始的行将会被忽略。
    • 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
    • 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
    • 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
    • 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
    *.txt        #忽略所有.txt结尾的文件,这样的话上传就不会被选中!
    !lib.txt     #但lib.txt除外
    /temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
    build/       #忽略build/目录下的所有文件
    doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    

    更多命令参考:https://gitee.com/all-about-git

    记得快乐
  • 相关阅读:
    西卡编程教学 C语言教学视频(共32课更新完毕) 『 西卡教学 』 西卡学院 Powered by Pureing Labs!
    大图片新闻的体验还是不错的
    分享:用php抓取网页内容方法总结
    “深圳文献港”昨日正式开通_综合新闻_财经_腾讯网
    分享:EJDB 1.0.37 发布,嵌入式 JSON 数据库引擎
    分享:MetaModel 3.2.5 发布,数据库元模型
    RQ: Simple job queues for Python
    分享:开源主机项目 Ouya 发布 SDK
    RQ 简单的任务队列 品牌控
    信息论、推理与学习算法(翻译版)
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13859210.html
Copyright © 2011-2022 走看看