一、git在不同平台下的安装

(1)在linux上安装

  如果以centos为例,可以使用yum安装,如下命令:

sudo yum install git

  如果你在基于debian的发行版上,尝试使用:

sudo apt-get install git

(2)在Mac上安装

  在mac安装git方式很多,最简单是用brew包管理。

  安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

brew install git

  如果你想安装更新的版本,可以使用二进制安装程序。官方维护的 OSX Git 安装程序可以在 Git 官方网站下载,网址为 http://git-scm.com/download/mac

(3)Windows安装

  在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可(详细步骤参见  https://www.cnblogs.com/li-li/p/10257612.html)。

  安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

二、运行git前的配置

1、既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

  Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置(这个用户指的是linux用户):

  1)/etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置。如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。

  2)~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 --global 选项让 Git 读写此文件。

  3)当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。 --local 当前仓库配置。

2、git配置相关命令

git --version            查看git版本

git config --system --list              查看系统所有linux用户的通用配置,此命令检查/etc/gitconfig

git config --global --list              查看当前linux用户的配置,检查~/.gitconfig文件

git config --local --list              查看git目录中的仓库配置文件,检查.git/config文件

git config --global user.name "用户名"          配置当前linux用户全局用户名,这台机器所有git仓库都会用这个配置,修改用户名也是这个命令

git config --global user.email "用户邮箱"         配置当前linux用户全局邮箱,这台机器所有git仓库都会用这个配置,修改邮箱也是这个命令

git config --global color.ui true                    配置git语法高亮显示

git config --list                     列出git能找到的所有配置,从不同的文件中读取所有结果

git config user.name           列出git某一项配置,此处是列出配置的用户名

git config user.email           查看当前配置的邮箱

git help                       获取git帮助

git help config              获取config命令的手册

三、git给文件重命名的方法

  例如:将readme.txt改为readme.md

(1)方法一:

mv readme.txt readme.md                    工作目录里把readme.txt 重命名为readme.md

git add readme.md             将readme.md加入暂存区

git rm readme.txt               暂存区中删除readme.txt

git reset --hard    上一次commit版本号      (注意这个命令危险,慎用)

(2)方法二(推荐):

git mv readme.txt  readme.md

git commit -m "mv readme.txt to readme.md"

四、git常用命令

1、克隆远程仓库代码到本地

git clone git@gitlab.xxx                        通过git拉取代码的时候,默认拉取的是master分支
git clone -b develop git@gitlab.xxx 拉取develop分支代码

2、拉取远程分支并创建本地分支

方式一:
git checkout -b 本地分支名x origin/远程分支名x
该方式会在本地新建分支x,并自动切换到该本地分支x,采用此种方法建立的本地分支会和远程分支建立映射关系 方式二:
git fetch origin 远程分支名x:本地分支名x
该方式会在本地新建分支x,但不会自动切换到该本地分支x,需要手动checkout,采用此种方法建立的本地分支不会和远程分支建立映射关系
git pull 远程分支最新代码拉取下来(前提是手动建立映射关系)

3、本地分支和远程分支建立映射关系(若本地分支和远程分支没有建立映射关系,则需要手动建立,否则拉取和推动不会成功)

git branch  -u  origin/远程分支名
或者
git branch --set-upstream-to origin/远程分支名

4、推送本地分支到远程分支

git push origin <l_name>:<r_name>         l_name是本地分支,r_name是远程分支,远程没有会自动创建,可与本地同名

5、合并分支

git merge --no-ff -m "修改了什么问题"  <name>          合并某分支<name>到当前分支

6、强制拉取最新代码

git fetch --all
git reset --hard origin/beta
git pull // 可以省略

7、其他常用命令

git branch              查看本地所有分支和当前所在分支
git branch -vv 查看本地分支与远程分支的映射关系
git branch -r 查看远程分支
git branch -a 查看本地和远程所有分支
git status 查看状态
git log --pretty=oneline
git reflog
git diff
git commit -m "注释"
git merge hotfix 合并hotfix到当前分支
git branch <name> 创建分支
git checkout -b <name> 创建并切换到该分支
git checkout <name> 切换分支
git branch -d <name> 删除本地分支
git push origin --delete <name> 删除远程分支
git remote -v 查看关联的所有的远程仓库名称及地址
git remote add <别名> <远程版本库的url> 添加远程版本库的别名
git pull origin develop 拉取远程仓库名为origin的develop分支的最新代码到本地当前分支
git push origin develop 推送本地当前分支代码到远程的仓库名为origin的develop分支
git remote rm <别名> 删除远程仓库别名
git reset --hard 版本号

8、git协同开发

方式一:
① develop 开发分支
② beta 测试分支
③ release 发布分支
④ 功能开发时,在本地拉取develop分支并且新建要开发的功能对应的分支,将develop分支merge到新建分支,不要直接在develop上开发,分支命名 "feature_版本号_gongneng名"
⑤ bug修复时,在本地拉取beta分支,并且新建bugfix分支,将beta分支合并到新建的bugfix分支上,然后再进行bug修复,修复完成合并到beta分支上 方式二(开源框架协作流程):
比如官方的项目地址为git@gitlab.project.com
① git clone -b develop git@gitlab.project.com 拉取官方develop分支代码到本地
② fork官方项目到自己gitlab账户下,项目地址为 git@gitlab.wll.com
③ git remote add my_origin git@gitlab.wll.com 添加自己的远程仓库别名
④ 切换到develop分支,拉取最新官方develop分支代码
  git checkout develop 切换到开发分支develop
  git pull origin develop 拉取官方项目最新代码
⑤ git checkout -b hotfix/name 新建分支,开发新功能或者修复bug
  ... 开发或者修复bug的过程 ...
⑥ 添加并提交修改的文件
  git add <filename> 将修改的内容添加入暂存区,多个文件用空格隔开
  git commit -m "功能注释" 将修改的内容提交到本地仓库
⑦ 推送前拉取最新官方代码,有冲突解决冲突
  git checkout develop 切换到develop分支
  git pull 拉取官方仓库最新代码
  git chekcout hotfix/name 切换到自己建的功能开发代码
  git merge develop 合并最新的官方代码到自己建的功能开发分支
⑧ git push my_origin hotfix/name 将功能分支推送到自己远程gitlab
⑨ 提交合并请求
⑩ 新功能开发继续重复第④步即可。
注意:原则就是保持

五、参考资料

  1、git官网

  2、廖雪峰

Git的使用(2)的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. Android框架式编程之EventBus

    一.EventBus 简介 EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus. 它简化了应用程序内各个组件之间进行通信的复杂 ...

  2. Redis之高可用、集群、云平台搭建(非原创)

    文章大纲 一.基础知识学习二.Redis常见的几种架构及优缺点总结三.Redis之Redis Sentinel(哨兵)实战四.Redis之Redis Cluster(分布式集群)实战五.Java之Je ...

  3. 11.JavaCC官方入门指南-例6

    例6:计算器--添加括号.一元运算符和历史记录 1.calculator3.jj   我们只需要再添加一些特色,就可以得到一个可用的四则运算计算器.在这一版的修改中 ,我们将使得程序可以接收括号.负值 ...

  4. .Net Core 3.0开源可视化设计CMS内容管理系统建站系统

    简介 ZKEACMS,又名纸壳CMS,是可视化编辑设计的内容管理系统.基于.Net Core开发可跨平台运行,并拥有卓越的性能. 纸壳CMS基于插件式设计,功能丰富,易于扩展,可快速创建网站. 布局设 ...

  5. acwing 2 零一背包问题

    地址 https://www.acwing.com/problem/content/description/2/ 题目描述有 N 件物品和一个容量是 V 的背包.每件物品只能使用一次. 第 i 件物品 ...

  6. Repair Microsoft.VisualStudio.MinShell.Msi.Resources 2203 error And visual studio 2019 key

    1. Go to the properties of "My computer" 2. Go to advanced settings of the system 3. Go to ...

  7. React: 认识React

    一.简介 React-Native是Facebook开源的跨平台框架,用于实现前端和原生进行混合开发.React-Native开发可以很好的使用原生UI构建用户界面,与传统的使用WebView相比,不 ...

  8. Windows下怎么执行shell脚本

    1.在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git. 2.查看Git环境变量是否配置,没有配置需要配置(我这里安装Git时自动配 ...

  9. Python 如何操作微信

    1.给文件传输助手发一条消息 import itchat itchat.auto_login(enableCmdQR=True) # 这里需要你人工手机扫码登录 itchat.send('Hello, ...

  10. 支付签名 MD5Util 排序工具类

    package com.skynet.wechat.wxPay.common; import java.security.MessageDigest; import java.util.Iterato ...