终端有这个提示,这个按照命令 输入你的 git账号和邮箱就可以, 不然一直出这个提示

Your name and email address were configured automatically based

on your username and hostname. Please check that they are accurate.

You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"

    git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

    git commit --amend --reset-author

查看提交版本  : git log

查看某个人的提交日志 :git log --author=“author”

xcode 回退所有操作 : git checkout .

版本回退操作 :git reset --hard 版本号

查看分支:
1. 查看本地所有分支 : git branch

2. 查看远程所有分支: git branch -r

3. 查看本地和远程所有分支: git branch -a

分支前面有* 表示你在当前那个分支上

创建本地分支 :最好本地分支名字和远程分支名字一样,不然会坑自己。。  如果你测试切换到 创建的新分支2222上, 那么新的分支2222会自动复制上个分支11111的代码
git branch 分支名,例如:git branch branch_abc

注意:如果远程有多个分支1,2,3,4, 你本地现在在版本4上,并且你本地只有版本3,版本4,要修改旧的版本的远程分支版本2的代码,此时创建新分支, 一定要从版本master(最少代码的分支 ) 创建本地分支 之后再执行git branch 版本3,因为你从哪个分支 branch(创建本地新分支, 就会直接复制原来分支的代码,你从4切出来的分支,去关联远程版本2, commit的时候会发现添加了大量文件和代码,图片等等, 这都是 本地分支4上的,而远程版本2 上没有的)

删除本地分支

1.如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除

git branch -d 分支名字

2.如果我们在试图删除一个分支时自己还没转移到另外的分支上,Git就会给出一个警告,并拒绝该删除操作。如果坚持要删除该分支的话,就需要在命令中使用-D选项。

git branch -D 分支名字

切换本地分支 
git checkout 分支名,例如从master切换到分支:git checkout branch_abc

创建远程分支:

git push origin  branch_abc :branch_abc(git branch -a查看所有分支)

git push --set-upstream origin branch_abc


删除远程分支

1. git branch -r -d origin/branch-name     成功提示  :Deleted remote-tracking branch origin/branch-name

2. git push origin :branch-name         成功提示 :     - [deleted]         branch-name

3.  git push origin --delete name   成功提示 :  - [deleted]           name

注意:

3.git已经删除了远程分支,本地仍然能看到 : git remote prune origin

本地关联远程分支: 需要先checkout rtb1.1.2上面,在执行下一步, 如果不小心 切换到其他分支"分支2",执行了关林操作, 可以在切换回来,重新关联一下, 分支只会关联到一个远程分支, 重新关联后,原来关联的分支就不起作用

git branch --set-upstream-to=origin/rtb1.1.20

如果远程创建了新分支,本地获取不到,获取所有远程改变

git fetch

查看别人提交的东西:git show 提交的版本号

第一步 : 查看日志 git log-2

第二步 git show  bb8924b8606790d732bc3deb7d4ac66fb6a549c5  结果是 - 提交人的修改之前的内容, + 提交人修改之后的内容

3 . 查看某个文件的所有提交信息

git log 文件名

git log rts/Module/Shop/ShopInfo/Controller/JYShopBussionTimeController.swift

获取 远程所有更改 :git fetch

获取 指定分支修改,没有合并:git fetch  origin ABC123

合并本地其他分支数据 :git merge 分支名字

合并指定远程分支数据 : git merge origin/分支名字   如果你此时单纯merge 并且没有更改任何代码, 可以直接直接push, 如果改了代码, 需要先commit 然后在push

已关联的分支直接获取代码 : git pull = git fetch  origin ABC123  + git merge origin ABC123

本地临时仓库操作:

因业务需要,测试一些bug或者添加一些临时功能, 但不确定是否添加斤如项目,这是 创建一个临时版本

1.2 如果你本地aaa和远程bbb没有关联,你在本地分支aaa,获取远程bbb的代码, git fetch origin 远程bbb , 然后合并 git merge origin 远程bbb, 这个时候 本地aaa就有了远程bbb的最新代码

1.3 你本地aaa已经操作了 1.2, 你的本地aaa 是临时的分支,随时会删除, 你切换本地bbb时 ,会直接把本地aaa复制到本地bbb,如果你想要单纯就本地aaa 保存本地bbb不保存,你需要在本地aaa上 把代码提交到本地aaa : git add - u ,git commit -m "日志",这个时候在切换到本地bbb, 就会发现本地bbb没有代码更改了

提交分支数据到远程服务器 
1.  git push origin : 分支名字

例如: git push origin branch_abc: branch_abc 
2. git push : 一般当前如果不在该分支时,使用这种方式提交。如果当前在 branch_abc 分支下,也可以直接提交git push

3.添加了新文件

git add * 或git add 指定文件名字,之后git commit -a -m "提交日志", git push

git clone "git地址" 克隆代码 ,这是不需要再本地和远程关联, clone 会自动关联本地和远程代码
git checkout chenQP         (切换到自己创建的本地子仓库)
git commit - a - m ”日志”     (提交)
git push             (发布到远程子仓库)
git checkout rtb1.1.1         (切换到本地的主仓库)
Git pull               (获取远程主仓库代码)

合并出现了冲突

情况1. 别人删了大量无用文件:此时所有人不要更改东西,等删除好了,获取最新代码在修改,不然会炸

情况2:xcode冲突:打开工程文件

打开文件

搜索 <<<< 和 >>>> 删除一下

情况3:plist 文件冲突,使用编辑器打开 vim rtb/Info.plist  在冲突前面 dd 删除 冲突的行,然后wq保存, 如果不小心删错了,撤销或者不保存退出q!

提交代码步骤

1. 查看有哪些更改 : git status(会在终端打印) , 也可以点击xcode -> 导航栏Source Control ->commit 查看 这样更明显

2. 提交日志:git commit -a -m “解决冲突或其他日志” ,

3. 提交代码: git push  
4. 你是子分支想把代码合并到主分支: git  checkout master 然后 获取最新代码git pull,然后解决冲突 合并本地分支,git merge chenQP

5. git commit -a -m “提交到master"
6.  git push 

=========== QP 的 代码 已经到master========

如果还想回到自己的子分支接着写代码

1.(切换到本地子仓库):git checkout qingPU        
2. 把远程主仓库代码 复制到本地的子仓库:git merge master       ()

查看本分支与 其他分支不同的:git diff 分支名字   :查看本分支与 其他分支不同的,如果有不同,会自动显示内容,用q来退出,如果一样,啥都不显示

如果 创建了文件,又删除了,还是在git 显示这个文件路径,并且有感叹号:

1.删除引用路径:

git reset HEAD rts/Module/MyCenter/Controller/JYSalesStaffInfoController.h

2.回退这个文件

git checkout rts/Module/MyCenter/Controller/JYSalesStaffInfoController.h

3. 清除无用引用 :

git clean -df

写代码 

【链接】Git本地创建分支并提交远程分支
https://blog.csdn.net/Nathan1987_/article/details/54959101

详情 :

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E5%8F%96%E5%BE%97%E9%A1%B9%E7%9B%AE%E7%9A%84-Git-%E4%BB%93%E5%BA%93







Mac git 终端使用的更多相关文章

  1. git终端提示符

    最近使用git bash的时候,看到默认的终端提示符不爽,主要是太长了.所以想对git终端提示符进行优化 默认git的终端提示符会是  用户名@设备名称 ,我想改成更短的来查看. 提示符是由一个环境变 ...

  2. Mac OS 终端利器 iTerm2

    之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...

  3. Mac OS 终端强化美化:iterm2 + zsh + oh~my~zsh 设置教程

    为了获得更好的排版效果,文章改用markdown撰写,故重发一次. 前言 mac自带的terminal终端没有文件名高亮等功能,而且界面不是很好看,故今晚学舍友折腾了终端,可以让自己使用起来更加方便, ...

  4. Mac OS 终端利器 iTerm2(怕以后找不到,自存自用)

    之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...

  5. Mac git提交步骤小记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "PingFang SC"; c ...

  6. [转] - 在mac的终端中使用sublime打开文件

    在mac的终端中使用sublime打开文件 使用sublime提供的命令行工具.这个命令行工具位于 /Applications/Sublime\ Text\ 2.app/Contents/Shared ...

  7. MAC的终端命令

    今天小研究了一下MAC的终端命令,主要为了方便调试程序用,XCODE用不来啊... 在这里记下..防止丢失 pwd 当前工作目录 cd(不加参数) 进root cd(folder) 进入文件夹 cd ...

  8. mac 下终端访问文件出现“Permission Denied”解决方案

    mac 下终端访问文件出现“Permission Denied”解决方案: 一个文件有3种权限,读.写.可执行,你这个文件没有可执行权限,需要加上可执行权限. 1. 终端下先 cd到该文件的目录下 2 ...

  9. 解决javac和java命令在Mac OSX终端里的乱码问题

    转自:https://www.surfchen.org/archives/710 java和javac在简体中文的Mac OSX的终端(Terminal.app)环境下,默认是以GBK编码的中文输出各 ...

随机推荐

  1. list集合转换成datatable

    /// 将list集合转换成datatable /// </summary> /// <param name="list"></param> / ...

  2. SQL 用到的操作符

    1.LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. SELECT column_name(s) FROM table_name WHERE column_name LIKE patte ...

  3. CAS单点登录原理解析

    转自: https://www.cnblogs.com/lihuidu/p/6495247.html 1.基于Cookie的单点登录的回顾        基于Cookie的单点登录核心原理: 将用户名 ...

  4. C++复习:函数模板和类模板

    前言 C++提供了函数模板(function template).所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表.这个通用函数就称为函数模板.凡是函数体 ...

  5. Linux学习笔记--vim

    Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. vim的三种模式 命令模式(Command mode),输入模式(Insert m ...

  6. linux 2.6.32文件系统的dentry父子关系

    我们知道,linux文件系统,inode和dentry是有对应关系的,dentry是文件名或者目录的一个管理结构,2.6内核中: struct dentry { atomic_t d_count; u ...

  7. node-sass:npm install node-sass --save

    从git上拉下来的项目,要先安装依赖, 再运行. 缺少node-sass:npm install node-sass --save

  8. Eclipse编译Android项目时出现的问题:Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead.

    Consle: Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead. Please use Andro ...

  9. Java Script 基础总结

    1学习ajax需要一点CSS的基础和JavaScipt基础 今天重温一下Javascrpt基础 1.<script type="text/javascript">< ...

  10. python 装饰器的缺点以及解决方法

    1.python装饰器的缺点 装饰器可以允许我们在不改变函数或犯方法的调用方式的情况下,添加额外的功能; 如下所示,我们要在中的方法之前增加装饰器check_is_admin,用来判断执行类的方法的用 ...