一、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. ArcGIS api for JavaScript 3.27 在线浏览的一些小部件

    var navOption; var navToolbar;// 当前选择的操作 require( [ "esri/toolbars/navigation", "esri ...

  2. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之二:创建域控虚拟机

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  3. 升鲜宝V2.0_杭州生鲜配送行业,再论B端生鲜配送企业管理软件的开发与实施的难点与行业痛点_15382353715_余东升

    升鲜宝V2.0_杭州生鲜配送行业,再论B端生鲜配送企业管理软件的开发与实施的难点与行业痛点_15382353715_余东升 笔者简介:升鲜宝供应链管理软件平台创始人,14年软件从业经历,10多年深究生 ...

  4. ORACLE关于日志文件基本操作

    1.查询系统使用的是哪一组日志文件:SELECT * FROM V$LOG; 2.查询正在使用的组所对应的日志文件:SELECT * FROM V$LOGFILE; 3.强制日志切换:ALTER SY ...

  5. awk命令使用整理

    1. awk默认以空格分隔, 可摘出指定位置的内容, 通常用法如下( 文件名称为file.txt ): 文件中行内容为:  12:3   a  4:56   b awk  '{print $1}'  ...

  6. 【洛谷5335】[THUSC2016] 补退选(指针实现Trie)

    点此看题面 大致题意: 三种操作:加入一个字符串,删除一个字符串,求最早什么时候以某个字符串为前缀的字符串个数超过给定值. \(Trie\) 这道题显然是\(Trie\)的暴力裸题. 考虑我们对于\( ...

  7. 关于group by的用法 原理

    转载: https://blog.csdn.net/u014717572/article/details/80687042. 写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉grou ...

  8. Linux war包部署jenkins

    一.介绍Jenkins 1.Jenkins概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Je ...

  9. CodeForces 200D Programming Language

    Recently, Valery have come across an entirely new programming language. Most of all the language att ...

  10. python多进程multiprocessing Pool相关问题

    python多进程想必大部分人都用到过,可以充分利用多核CPU让代码效率更高效. 我们看看multiprocessing.pool.Pool.map的官方用法 map(func, iterable[, ...