一、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. LOG日志溯源取证总结

    windows操作系统事件日志 C:\Windows\System32\winevt\Logs\ *( XP C:\Windows\System32) 应用程序日志 App Event.Evtx(Ap ...

  2. QT解决中文乱码

    如果编译器在支持C++11的情况下,我们可以使用u8"XXXX" 如:QString str = u8"我是中文"; 这样就解决了中文乱码的问题,使用UTF-8 ...

  3. Ubuntu16.04 安装 JDK

    1.到Oracle官网下载 地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  4. skip-broken to work around the problem rpm -Va --nofiles --nodigest

    清除yum缓存 yum clean all 重新安装,见结尾[root@localhost ~]# yum install libstdc++.so.6Loaded plugins: fastestm ...

  5. pytorch 建立模型的几种方法

    利用pytorch来构建网络模型,常用的有如下三种方式 前向传播网络具有如下结构: 卷积层-->Relu层-->池化层-->全连接层-->Relu层 对各Conv2d和Line ...

  6. 使用VMware Workstation Player虚拟机安装Linux系统

    下载安装 VMware Workstation Player 首先下载并安装 VMware Workstation Player, VMware Workstation是一款非常强大的虚拟机软件,有p ...

  7. 趣谈Linux操作系统学习笔记:第二十一讲

    一.分段机制 1.分段机制的原理图 2.段选择子 3.段偏移量 例如,我们将上面的虚拟空间分成以下 4 个段,用 0-3 来编号.每个段在段表中有一个项,在物理空间中,段的排列如下图的右边所示. 4. ...

  8. swoole4创建Mysql连接池

    一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机.   解决方案:连接池,这个连接池建立了200个和mysql的连接,这100 ...

  9. Dubbo 一些你不一定知道但是很好用的功能

    dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定知道,但是很好用的功能: 直连Provider 在开发及测试环境下,可能需要绕过注册中心,只测试指定服务提供者,这时候可能需要 ...

  10. IT兄弟连 Java语法教程 三目运算符

    Java提供了一个特殊的三目(三个分支)运算符,它可以替代特定类型的if-then-else语句结构.这个运算符是“?”乍一看可能有一些困惑,但一旦理解“?”运算符,就可以高效地使用它.“?”运算符的 ...