Git用法大全

因为现在git是项目管理的主流,在学习使用过程中整理总结出了一些东西,特在此记录一下。所有用法总结如图:

  • 基础篇
  • 远程篇
  • 分支篇
  • 提交篇
  • 冲突篇
  • 回滚篇
  • 删除篇
  • 查看篇

基础篇

命令解释
git init初始化一个Git仓库
git -rf .git删除版本库

远程篇

命令解释
git remote -v查看远程路径
git remote set -url origin url设置远程地址
git remote add name url关联远程库
git fetch name拉取但不合并
git pull拉取并合并
git push推送
git clone url克隆仓库

分支篇

命令解释
git branch查看分支
git checkout -b new_branch创建并切换到新的分支
git checkout master切换到master分支
git merge other_branch合并别的分支到当前分支
git rebase other_branch把当前分支的提交临时保存为补丁并临时删除这些提交,合并更新另一分支,最后把补丁应用到当前分支
git branch -d branch删除分支
git log –graph –pretty=oneline –abbrev-commit查看分支合并情况

1. master分支是主分支,因此要时刻与远程同步
2. dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步
3. bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug
4. feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发


提交篇

命令解释
git add 添加文件,可反复多次使用,修改放在暂存区
git commit -m “comments”将暂存区的所有修改提交到仓库
git push origin 推送

每次修改,如果不add到暂存区,那就不会加入到commit中

这里写图片描述


冲突篇

命令解释
git status $file显示冲突
cat $file查看冲突文件
git add $file处理后标记为解决
git commit -m “comments”提交

一般在项目开发过程中,在本地分支(feature/branch)写代码,提交到自己的远程分支(origin/feature/branch)从中央库远程分支(upstream/feature/branch)上merge下代码,如果merge时有冲突需要修改

You have not concluded your merge (MERGE_HEAD exists) git拉取失败
这里写图片描述


回滚篇

命令解释
git reset –hard commit_id回退到commit_id这个版本
git reset –hard $HEAD全部回退
git reset –soft $HEAD只回退commit内容
git reset –mixed $HEAD默认,回退commit和index

一般情况HEAD指向的版本为当前版本,使用git reset –hard commit_id(上一个版本:HEAD^,上上一个版本:HEAD^^,往上100个,写成HEAD~100)


删除篇

命令解释
git rm file从文件跟踪和文件系统删除,删除版本库的文件,记得git commit提交修改
git rm –cached file从文件跟踪删除
git checkout - file误删后恢复文件到最新版本
git push origin –delete 删除远程分支
git push origin :推送一个空分支,相当于删除远程分支
git fetch -pfetch之后删除掉没有与远程分支对应的本地分支

这里写图片描述


查看篇

命令解释
git status查看当前状况
git diff查看修改内容,再通过git add和git commit 提交内容
git log查看提交历史,用于回退之前
git reflog查看命令历史
git log –pretty=oneline单行日志

在Android studio开发过程中的一些总结:
Project文件夹目录下:

  1. fork项目;
  2. 在AndroidProject的目录下打开git shell,输入git clone 项目路径(github项目下载);

项目目录下:

  1. git checkout -b feature/refactor origin/feature/refactor导入并且切换其他分支
  2. git remote -v 显示远程分支(Android);

  3. (关联远程库)git remote add upstream(远程分支名) 项目ssh地址(Android);

  4. git fetch upstream(远程分支名)

Android studio有关git的操作:
修改代码,点击上边VCS(绿色)进行选择

  1. commit:所有操作基于这个而留下痕迹,commit message需要记录并且记录仔细以便之后进行回退查询。
  2. push:把commit的内容提交到远程项目(自己项目)中
  3. Revert:重置回项目原来的节点
  4. show diff:查看不同,以此来了解项目的改变内容,若是只是因为错误而造成的改动不commit

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin branch-name推送自己的修改
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并
  3. 如果合并有冲突,则解决冲突,并在本地提交
  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值