Mac git 终端使用

摘要:
如果坚持删除分支,则需要在命令中使用-D选项。如果您当前在分支_在abc分支下,也可以直接提交gitpush

终端有这个提示,这个按照命令 输入你的 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 版本号

git reset --hard HEAD^ 回退到上个版本

git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前

$ git reset --hard commit_id 退到/进到 指定commit的sha码

  强推到远程:$ git push origin HEAD --force

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

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

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

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

Mac git 终端使用第1张


创建本地分支 :最好本地分支名字和远程分支名字一样,不然会坑自己。。  如果你测试切换到 创建的新分支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 add *

git stash “内容”

///弹出暂存

git stash pop 

创建远程分支

  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

 

直接创建一个和远程分支名字一样的分支,

git fetch origin 远程分支名字:本地分支名字 (推荐和远程一样)

不是合并了本地分支代码的分支

 

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

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


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

git fetch 

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

第一步 : 查看日志 git log-2
Mac git 终端使用第2张

第二步 git show  bb8924b8606790d732bc3deb7d4ac66fb6a549c5  结果是 - 提交人的修改之前的内容, + 提交人修改之后的内容
Mac git 终端使用第3张


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冲突:打开工程文件Mac git 终端使用第4张

打开文件Mac git 终端使用第5张


搜索 <<<< 和 >>>> 删除一下Mac git 终端使用第6张

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

=======    分割线    ========

强制覆盖本地

git fetch -all

git reset --hard origin/master

git pull

=======    分割线    ========

提交代码步骤 

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 终端使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ranger文件管理器ABAP-AES加解密下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

git的一套全流程上手(不包括报错(我忘了有哪些报错了)以及其解决方案(篇幅问题))

git|Github|Gitee|远程仓库 的基本使用 本篇主要说几个git的场景,单纯是为了让新手能够快速上手(因为我就是新手,我给我自己写了一篇教学用的文章,没毛病) 注: 这里不会去写git能够协同工作的原理(因为我自己还没搞明白,未来我是要去重写git,并改写很多功能的(实际上已经在写了)) 我不会贴效果图,很麻烦,而且我也贴不好。贴好了事半功倍...

Git过滤文件和文夹

第一步:添加".gitignore"文件 往项目根目录添加一个文件".gitignore"。这文件和".git"文件夹同级。 但是在windows下无法创建".gitignore"文件名,必须把文件名改成这样".gitignore.", 在文件名最后加一个英文句号就可以了。 第二步:设置过滤条件 bin/过滤所有bin文件夹 obj/过滤所有obj文件夹...

.Net Task&amp;lt;T&amp;gt;的一种比较神奇的卡死情况(Wait/Result卡死, await能得到结果)

出现的环境.Net4.0 + WebApi1(4.0.30506.0) +Microsoft.Bcl.Async.1.0.168 自己死活看不出原因, 分享出来给大家看看,希望有人能找到问题的关键 出现错误的是下面这两个模块 下面的CorsMessageHandler,抄的http://www.cnblogs.com/artech/p/cors-4-asp...

Ubuntu简单搭建git私有服务

gitserver搭建过程 搭建gitserver过程记录 例如以下: 环境: serverUbuntu虚拟机(Boss),能通过网络訪问到(server地址:192.168.9.103)。 clientWin7电脑一台(work) 软件需求: client软件msysgit:http://msysgit.github.io/ 软件版本号:Git-1....

Git 分支管理最佳实践

it 是目前最流行的源代码管理工具。大量的软件项目由 GitHub、Bitbucket 和 GitLab 这样的云服务平台或是私有的 Git 仓库来管理。在使用 Git 时通常会遇到的一个问题是采用何种分支管理实践,即如何管理仓库中作用不同的各类分支。和软件开发中的其他实践一样,Git 分支管理并没有普遍适用的最佳做法,而只有对每个团队和项目而言最适合的做...

基于 Git Tag 发布及回滚代码

基于 Jenkins + Git + Ansible 发布 PHP 项目 1、部署 PHP 运行环境 PHP 是一个动态程序,负责解析 PHP-FPM 服务,而这个服务不支持静态网页处理,一般结合 Nginx 解决这个问题。Nginx 本身是一个静态 Web 服务器,并不支持解析 PHP 程序,但它支持了 FastCGI 接口来调用动态服务来解析 PHP...