git常用命令

git创建分支

#创建本地分支并切换到新创建的分支
$ git checkout -b newbranch
#将新创建的分支信息推送到github
$ git push origin HEAD -u

暂存已修改的代码

# 暂存代码
$ git stash
# 一些别的操作,例如更新代码
$ git pull
# 操作完之后,还原被保存的代码
$ git pop

GIT 合并多个commit

#commitID 为需要合并的commit之前的一个commitID
$ git rebase -i commitID
  • pick 的意思是要会执行这个 commit
  • squash 的意思是这个 commit 会被合并到前一个commit

只保留一个pick,剩下都改为squash,然后输入 wq 保存并退出。进入commit message 的编辑界面,删除之前的commitMessage,写入一个新的commitMessage,保存

#查看 commit 历史信息,你会发现这两个 commit 已经合并了。
$ git log
#撤销修改
$ git rebase --abort
#推送到远程仓库
$ git push -f

git 免密码操作

#git bash进入你的项目目录,输入:
$ git config --global credential.helper store
#操作一次,这一次之后就不需要再次输入密码
$ git pull

强制覆盖本地代码(与git远程仓库保持一致)

git fetch --all && git reset --hard origin/branch && git pull

GIT 查看/修改用户名和邮箱地址

#查看用户名和邮箱地址:
$ git config user.name
$ git config user.email #修改用户名和邮箱地址:
$ git config --global user.name "username"
$ git config --global user.email "email"

同时提交到两个分支

#bug修复提交到release/v1.0分支
$ git commit -m "提交代码"
$ git push origin release/v1.0
# 切换分支至release/v2.0
$ git checkout release/v2.0
# 将release/2.0代码更新至最新
git pull origin release/v2.0
# 将release/1.0的代码更新至最新
git pull origin release/v1.0
# 将commit提交至release/2.0
git push origin release/v2.0

合并子分支代码至主分支

# 先切换至主分支,更新到最新代码
$ git checkout master
$ git pull
# 再切换回子分支
$ git checkout dev
$ git rebase master
# 此时出现冲突,详细冲突可用 git status 查看,并解决冲突
$ git add -u 文件
$ git rebase --continue
# 此时出现第二个冲突,继续执行上述操作。
# 所有冲突解决完之后,切换至主分支
$ git checkout master
$ git merage dev
#此时已完成子分支代码合并至主分支,可用 git log查看提交记录
#另外如果rebase过程中,你想中途退出,恢复rebase前的代码则可以用命令
$ git rebase --abort

git修改分支名称

# 1. 本地分支重命名(还没有推送到远程)
$ git branch -m oldName newName # 2. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)
# a. 重命名远程分支对应的本地分支
$ git branch -m oldName newName
# b. 删除远程分支
$ git push --delete origin oldName
# c. 上传新命名的本地分支
$ git push origin newName
# d.把修改后的本地分支与远程分支关联
$ git branch --set-upstream-to origin/newName

查看分支

# 查看本地分支
$ git branch
# 查看所有分支,包括本地和远程
$ git branch -a
# 查看本地分支与远程分支对应关系
$ git branch -vv
# 关联本地分支与远程分支
$ git checkout localBranchName && git branch --set-upstream-to origin/remoteBranchName

切换至指定tag

# 查看所有tag
$ git tag
# 切换至指定tag <v0.8.0-beta>
$ git checkout -b v0.8.0-beta v0.8.0-beta

删除分支

# 删除本地分支
$ git branch -d <BranchName>
# 删除远程分支
$ git push--delete origin <BranchName>

切换分支

$ git checkout -b <BranchName>  origin/<BranchName>

Git忽略规则及.gitignore规则不生效的解决办法

$ git rm -r --cached .
$ git add .
$ git commit -m 'update .gitignore'

删除本地所有未提交的更改

$ git checkout . && git clean -xdf

git权限控制

角色 描述
Owner Git 系统管理员
Master Git 项目管理员
Developer Git 项目开发人员
Reporter Git 项目测试人员
Guest 访客

git用户权限一览表

具体操作 Guest Reporter Developer Master Owner
Create new issues ✔️ ✔️ ✔️ ✔️ ✔️
Leave comments ✔️ ✔️ ✔️ ✔️ ✔️
Pull the project code ✔️ ✔️ ✔️ ✔️
Download a project ✔️ ✔️ ✔️ ✔️
Create code snippets ✔️ ✔️ ✔️ ✔️
Create new merge request ✔️ ✔️ ✔️
Push changes to nonprotected branches ✔️ ✔️ ✔️
Remove nonprotected branches ✔️ ✔️ ✔️
Add tags ✔️ ✔️ ✔️
Write a wiki ✔️ ✔️ ✔️
Manage the issue trcker ✔️ ✔️ ✔️
Add new team members ✔️ ✔️
Push changes to protected branches ✔️ ✔️
Manage the branch protection ✔️ ✔️
Manage Git tags ✔️ ✔️
Edit the project ✔️ ✔️
Add deploy key to the peoject ✔️ ✔️
Congigure the project hooks ✔️ ✔️

整理平时常用git命令的更多相关文章

  1. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  2. 常用 Git 命令清单 转

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  3. 常用 Git 命令清单(摘录)

    来源:阮一峰的网络日志 网址:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来 ...

  4. [转]常用 Git 命令清单

    作者: 阮一峰 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专 ...

  5. 常用Git命令

    Git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一般来说,日常使用只要 ...

  6. 常用 Git 命令清单

    http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命 ...

  7. 常用Git命令清单。

    上期传送门:[清单]7个管理和优化网站资源的工具 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository: ...

  8. 常用 Git 命令清单【转】

    转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是 ...

  9. 常用Git命令清单(转)

    文/阮一峰 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图 6 个命令,就可以了.但是熟练使用,恐怕要记住 60-100 个命令. 下面是我整理的常用 Git 命令清单.几 ...

随机推荐

  1. Linux重要命令练习之bc

  2. JS正则和点击劫持代码(第十二天 9.27)

    JS正则 正则表达式:用单个字符串描述或者匹配符合特定语句规则的字符串一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索,可以去替换 语法:/表达式/修饰符(可选)var para=/icq ...

  3. 面向对象第一个特征-封装(Encapsulation)

    面向对象第一个特征-封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装概述(Encapsulation) 1>.什么是封装 是指隐藏对 ...

  4. HDU - 2602 Bone Collector(01背包讲解)

    题意:01背包:有N件物品和一个容量为V的背包.每种物品均只有一件.第i件物品的费用是volume[i],价值是value[i],求解将哪些物品装入背包可使价值总和最大. 分析: 1.构造二维数组: ...

  5. 51nod 1475:建设国家 优先队列的好题

    1475 建设国家 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 小C现在想建设一个国家.这个国家中有一个首都,然后有若干个中间站,还有若干个城市 ...

  6. # vim ~/.vimrc vim配色

    Ubuntu # vim ~/.vimrc        # /hom/zzx 下 set nomodeline                "(这个一定要写,目前有这个安全漏洞) set ...

  7. PHP中Cookie与Session的异同以及使用

    Cookie与Session的异同: 一.cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Mana ...

  8. 77.Q表达式详解

    Q表达式可以包裹查询条件,可以在多个条件之间进行操作:与或非等.Q表达式一般会放在filter()中进行使用,F表达式一般是放在update()中进行使用. 定义模型的models.py文件中,示例代 ...

  9. java课程之团队开发冲刺阶段2.9

    总结昨天进度: 已经完成查询课程信息任务 遇到的困难: 已经全部解决 今天的任务: 修改APP图标 当日总结: manifest中管理着APP的基本信息资料,所以是在manifest文件中修改APP的 ...

  10. LabVIEW面向对象的ActorFramework(3)

    四.LabVIEW面向对象的编程架构:Actor Framework Actor Framework是一个软件类库,用以支持编写有多个VI独立运行且相互间可通信的应用程序,在该类型应用程序中,每个VI ...