Git自我实践记录

iOS开发中的Git流程

创建新的仓库

Git自我实践记录_第1张图片
屏幕快照 2016-08-11 下午5.10.03.png

克隆到本地

Git自我实践记录_第2张图片
在git客户端clone
Git自我实践记录_第3张图片
仓库目录

配置

命令行查看当前git仓库目录
Git自我实践记录_第4张图片
关联用户名和邮箱

将本地仓库推上github远程仓库

想将一个早期创建的demo传上github

  • 根据上面操作在github创建一个新的仓库(还创建了一个Readme,后面再说)
屏幕快照 2016-08-11 下午7.31.36.png
屏幕快照 2016-08-11 下午7.32.22.png
Git自我实践记录_第5张图片
屏幕快照 2016-08-11 下午7.33.32.png

到这一步就报错了,是由于前面埋的坑,因为前面在github上创建新仓库时添加了一个Readme,导致不能push

Git自我实践记录_第6张图片
屏幕快照 2016-08-11 下午7.35.10.png

这一步强制推送到远程仓库,远程仓库将被本地仓库覆盖,推送后Readme被删除了


冲突解决

对于解决 Git 的 Merge Conflict 你有哪些经验和技巧?
芒果iOS开发之 CONFLICT (content): AutoMatic merge failed;fix conflicts and then commit the result.

对于解决 Git 的 Merge Conflict 你有哪些经验和技巧?

--no-ff


关于所有撤销

有用命令

  • git branch -vv 列出本地追踪的远程分支
  • git checkout --track origin/dev 在本地创建dev分支并追踪远程的dev分支
  • git checkout -b br-2.1.1.1 origin/br-2.1.2.1 使用checkout命令,创建新的分支 br-2.1.2.1,跟踪远程的origin/br-2.1.2.1
    git branch --set-upstream-to=origin/br-2.1.2.1 br-2.1.2.1 追踪
Git自我实践记录_第7张图片
Paste_Image.png
Paste_Image.png
  • How to modify existing, unpushed commits?

  • How to delete a Git branch both locally and remotely?

  • 推送新分支到远程
    git push -u origin 本地分支:远程分支,远程分支不存在将新建远程分支
    git push -u origin feature/test1:feature/test1oooo

  • git checkout . 恢复工作区的所有内容

  • git reset HEAD test.txt 将 HEAD test.txt从暂存区放回工作区

  • git reset --hard 重置暂存区与工作区,与上一次commit保持一致

  • git reset [commit] 重置当前分支的指针为指定commit(如果从最前的commit使用这个命令,回退到的commit后的所有commit都不见了,可以使用这git reflog查看历史提交然后用git reset [commit]回到消失的commit),同时重置暂存区,但工作区不变

Git自我实践记录_第8张图片
Paste_Image.png
  • git reset --hard [commit] 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致(跟上面的git reset [commit]差不多?)
Git自我实践记录_第9张图片
git reset --hard Head 是重置到上一次提交(最新),Head^是上上次提交
  • git reset --keep [commit] 重置当前HEAD为指定commit,但保持暂存区和工作区不变

  • git revert [commit]

Git自我实践记录_第10张图片
git revert b5f203
Git自我实践记录_第11张图片
revert到first commit后会产生冲突??
Git自我实践记录_第12张图片
修改冲突并且提交后
Git自我实践记录_第13张图片
没有回到first啊?应该是因为我合并的时候保留了这些信息

git revert 就是回退到之前版本并且跟当前版本比较,看保留还是不保留当前版本的变化,然后反向提交?
git reset revert 回退回滚取消提交返回上一版本

  • Git-分支-分支的新建与合并 写的比较好
创建分支追踪远程分支
  • git checkout --ours MyProject/JM.framework/vue.js 合并代码时 如果此文件除了冲突 保留自己分支上的文件 适合合并二进制文件。。

参考链接
在GitHub上分享和展示你的代码
三分钟搞定Github代码分享
Git与Github的使用,有团队流程
Git常用命令大图,比较全
GotGitHub--比详细
怎样使用 GitHub?--知乎

你可能感兴趣的:(Git自我实践记录)