Git 安装/设置/使用
来源:互联网 发布:ubuntu好看的壁纸 编辑:程序博客网 时间:2024/04/29 19:02
安装
shell
$sudo apt-get install git
$git version
设置
设置文件包括以下三个:
1. 系统级: /etc/gitconfig == $git config --system
2. 全局: ~/.gitconfig == $git config --global
3. 仓库级: .git/config == $git config
Note: .git/config 最后被执行,它可以覆盖前面配置文件变量。
配置语法:
'git config' [<file-option>] [type] [-z|--null] name [value [value_regex]]'git config' [<file-option>] [type] --add name value'git config' [<file-option>] [type] --replace-all name value [value_regex]'git config' [<file-option>] [type] [-z|--null] --get name [value_regex]'git config' [<file-option>] [type] [-z|--null] --get-all name [value_regex]'git config' [<file-option>] [type] [-z|--null] --get-regexp name_regex [value_regex]'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL'git config' [<file-option>] --unset name [value_regex]'git config' [<file-option>] --unset-all name [value_regex]'git config' [<file-option>] --rename-section old_name new_name'git config' [<file-option>] --remove-section name'git config' [<file-option>] [-z|--null] -l | --list'git config' [<file-option>] --get-color name [default]'git config' [<file-option>] --get-colorbool name [stdout-is-tty]'git config' [<file-option>] -e | --edit
usage:
usage: git config [options]Config file location --global use global config file --system use system config file --local use repository config file -f, --file <file> use given config fileAction --get get value: name [value-regex] --get-all get all values: key [value-regex] --get-regexp get values for regexp: name-regex [value-regex] --replace-all replace all matching variables: name value [value_regex] --add adds a new variable: name value --unset removes a variable: name [value-regex] --unset-all removes all matches: name [value-regex] --rename-section rename section: old-name new-name --remove-section remove a section: name -l, --list list all -e, --edit opens an editor --get-color <slot> find the color configured: [default] --get-colorbool <slot> find the color setting: [stdout-is-tty]Type --bool value is "true" or "false" --int value is decimal number --bool-or-int value is --bool or --int --path value is a path (file or directory name)Other -z, --null terminate values with NUL byte
例如:
1. 查看配置:git config -l
- 查看某个变量: git config color.ui
- 查看global变量: git config -l --global
- 查看包含字符串变量: git config --get-regexp color
2. 添加删除修改变量
- 添加变量:git config add cat.name Jerry
- 修改变量 : git config --replace-all cat.name Tom
- 删除变量 : git config unset cat.name Tom
3. 读取特定值
- 读取int 值: git config --get cat.number --int
- 读取bool 值: git config --get cat.coming --bool
- 读取path值: git config --get cat.namelist --path
使用
这里仅仅列举下自己常用的功能。
1. 情景一: 拉代码–> 修改–> 提交 –> push
$git pull$git add --> git commit -m "xxx" / git commit -a -m "xxx"$git push origin HEAD:xxxx
- 情景二: 新建branch fix bug,再merge到 HEAD
$git checkout -b new_branch$git branch -a #查看branch 信息,确认当前和master branch$git add --> git commit$git checkout master$git pull --> git merge new_branch
- 情景三: 已经commit,但由于某某某,需要对上次commit 修改、更新
$git add #要更新的$git commit --amend #当然你也可以先reset 再重新commit.#如果是update 远程如gerrit的patch,那就得用到Change-ID了。#Chenge-ID 必须在提交msg的最后一行$git push origin HEAD:xxxx
- 情景四: 时光机(版本回退和前进)
#回退用git log 找过去的id,前进就得用git reflog去看了。$git log/reflog # 得到commit ID$git rebase <commit ID>#可以用"--hard"/"--soft" 来决定是否保留change#当想废弃一切改变,退回到master 版本就可以用$git reset origin master
- 情景五: 已经commit了,但发现本地代码太旧
#先pull--> 解决conflict --> 再push$git pull$git diff #解决conflict$git pull#觉得pull有风险可以用fetch+ rebase$git fetch$git rebase #解决conflict
- 情景六: 想把当前的修改暂存起来,到用的时候再拿出来
#暂存$git stash#提取$git stash pop# 最后一次$git stash list#查看暂存的$git stash apply stash@{2}#取第二个$git stash clear#清除
参考大神wiki
廖雪峰 git wiki
官网Docs
- Git 安装/设置/使用
- 【Git】Git安装及使用
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- 如何安装和设置 Git
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- git 安装使用笔记
- git安装与使用
- FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别
- 形态学:膨胀与腐蚀
- 我看到的最棒的Twisted入门教程!
- 超线程技术
- 欢迎使用CSDN-markdown编辑器
- Git 安装/设置/使用
- 化鹏讲绘图
- http://blog.jobbole.com/67272/(横向滑动cell)
- 20150330 N1
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- 9. django web写blog中遇到的新手问题
- B-Tree/BTree 的Java实现
- 如何检测一个aspx页面的速度慢的原因
- 源码安装gcc/g++