zoukankan      html  css  js  c++  java
  • git日常工作中常使用到的指令

    git工具的常用指令,之前已经不止看过一次,看一遍忘一遍,忘一遍看一遍!!! 俗话说,好记兴不如烂笔头,那就把它们记下来吧。 本文只记录一下我们经常会使用到的git指令,不深入扩展与研究它背后后了什么事情。记住这些,平常工作/学习就基本上够用了。



    git的配置与初始化

    当我们通过指令配置git时,其实是把指定的配置内容写入到了配置文件中. git的配置文件分三个级别:

    • 系统配置:etc/gitconfig文件, 包含系统上每一个用户及他们仓库的通用配置,如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。
    • 当前用户的全局配置:~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。可以传递 --global 选项让 Git 读写此文件。
    • 当前仓库的配置: 配置文件位于当前仓库的.git/config中,它里面的配置内容只对当前的git仓库生效。

    现在使用命令行对git进行常规的配置:

    # 配置用户名与邮箱
    git config --global user.name "xiaoming"
    git config --global user.email china@163.com
    # 配置git中使用的编辑器
    git config --global core.editor vim
    

    上面使用命令行进行了git的global属性的配置,这时候打开~/.gitconig文件,它们是这样的:

    [user]
    	name = yinheyi
    	email = chinayinheyi@163.com
    [core]
    	editor = vim
    

    提交修改到git仓库的过程

    第一步:新建一个git本地仓库

    当在本地手动生成一个git仓库时,进入你要创建仓库的目录,执行以下命令就可以搞定. 对于clone一个已经存在的远程仓库情况,会在本地自动生成一个对应的git仓库,不需要新建.

    git init
    

    第二步:添加至暂存区

    • 跟踪新建的文件或把编辑的文件放到缓存区内
    git add 文件名
    
    • 删除新建的未跟踪文件或目录
    # 删除给定的文件(-f 表示force的意思)
    git clean -f 文件名
    # 如果要删除目录,需要加上额外的-d参数, 这样即可以删除目录也可以删除文件了
    git clean -df 文件名或目录名
    # 删除全部文件或目录时,不需要指定文件名或目录名
    git clean -d -f
    # 如果想进行交互地执行删除操作,使用i参数代替f参数
    git clean -d -i
    
    • 取消对已经跟踪文件的修改操作
    git checkout -- 修改的文件名
    
    • 取消跟踪或取消添加到暂存区
    git reset HEAD 文件名
    

    第三步:提交到git仓库

    • 提交时,单独输入注释信息
    git commit
    
    • 提交时,在输入指令的同时添加注释信息
    git commit -m "要注释的信息。"
    
    • 添加暂存区与提交过程同时进行
    git commit -a -m "注释信息"
    

    远程仓库

    查看远程仓库

    • 查看拥有的全部远程仓库的列表:
    git remote
    git remote -v
    
    • 查看某一个远程仓库的具体信息:
    git remote show <远程仓库的缩写名>
    

    添加/删除/重命名远程仓库

    • 添加远程仓库
    git remote add <远程仓库的缩写名>  <远程仓库的url>
    
    • 移除一个远程仓库
    git remote remove <远程仓库的缩写名>
    
    • 重命名远程仓库
    git remote rename <旧名字> <新名字>
    

    拉取/推送远程仓库

    • 拉取远程仓库的内容
    git fetch <仓库的名字>
    
    • 拉取远程仓库的同时并尝试合并当前的分支
    git pull <仓库的名字>
    
    • 把本地仓库的快照推送到远程仓库上
    git push <仓库的名字>
    

    本地分支管理

    说明: 本地分支的名字就是分支名,远程分支的名字是 <仓库名/分支名>.

    查看分支

    • 查看本地分支
    git branch
    git branch --list
    bit branch -v
    
    • 查看本地分支以及与之绑定的远程分支
    git branch -vv
    

    分支的新建/删除/重命名

    • 新建分支
    git branch 新分支名
    
    • 删除已经合并的分支,如果没有合并,删除会失败
    git branch -d 分支名
    
    • 删除一个分支,即使没有合并,也可以删除成功
    git branch -D 分支名
    
    • 重命名分支
    git branch -m <原分支名> <新分支名>
    git branch --move <原分支名> <新分支名>
    

    分支的切换/合并/变基

    • 切换到一个已经存在的分支
    git checkout <要切换到的分支名>
    
    • 切换到一个不存在的分支(新建或切换)
    git checkout -b <新分支名>
    
    • 把其它分支合并到当前分支
    git merge <其它分支>
    
    • 对当前的分支进行变基操作
    git rebash <要变到的基分支名字>
    

    涉及远程分支相关的管理

    新建/删除远程分支

    • 新建远程分支,就是把本地分支推送到远程分支上
    git push <远程仓库名缩写名> <要推送的本地分支名>
    
    • 删除远程仓库的分支
    git push <远程仓库的缩写名> --delete <要删除的远程分支名>
    

    跟踪/解除跟踪 远程分支

    • 新建一个本地分支并跟踪远程分支(远程分支名表示为:<仓库名>/分支名,例如origin/master)
    git checkout -b <新建的本地分支名> <远程分支名>
    
    • 如果你想新建的本地分支名与远程分支名相同的话,可以使用以下捷径命令, 前提是本地不存在与远程分支相同的分支名.
    git checkout --trace <远程分支名>
    git checkout <**去掉仓库名前缀**的远程分支名>
    
    ## 对上面的两个命令举个例子更容易明白
    git checkout --trace origin/test
    git checkout test
    
    • 为已经存在的当前本地分支跟踪添加一个远程跟踪分支
    git branch -u <远程分支名>
    git branch --set-upstream-to=<远程分支名>
    
    • 为当前分支解除跟踪远程分支
    git branch --unset-upstream
    

    参考资料: git在线手册

  • 相关阅读:
    打造基于CentOS7的xfce最简工作环境
    Linux下C程序的编辑,编译和运行以及调试
    修正 XE6 TListView 上方 SearchBok 右边的清除钮显示
    TabControl 显示彩色的图示 (XE6 Firemonkey)
    TSwitch 中文简繁显示支持(XE6 Android)
    改变 TMemo 的背景颜色 (Firemonkey)
    修正 XE5 Android 键盘三个问题
    Delphi 收藏
    展示 Popup 的使用方法
    ListView 下拉更新 (支持 Android)
  • 原文地址:https://www.cnblogs.com/yinheyi/p/12864606.html
Copyright © 2011-2022 走看看