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

 

 

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

 

 


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

第二步 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!

 

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

强制覆盖本地

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

 ------tag相关操作------

 参考:https://blog.51cto.com/u_15351164/5340718

 

------------------------------------------------------------------------

git 远程仓库变更,所有分支需要到新的远程 

 

查看关联的远程分支

git remote -v

 显示结果

 

本地分支push远程

 git push --set-upstream origin release-108

最好在关联一下

git branch --set-upstream-to=origin/release-108

 

都弄完,发现,自己重新改了分支名字 git brach -r 有很多原来远程的分支, 需要清掉

 参考:

git学习使用笔记

https://blog.csdn.net/weixin_42454941/article/details/105522978

 

写代码 

【链接】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

posted on 2018-06-22 11:04  懂事长qingzZ  阅读(450)  评论(0编辑  收藏  举报