整理平时常用git命令
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命令的更多相关文章
- 常用 Git 命令清单
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 常用 Git 命令清单 转
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 常用 Git 命令清单(摘录)
来源:阮一峰的网络日志 网址:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来 ...
- [转]常用 Git 命令清单
作者: 阮一峰 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专 ...
- 常用Git命令
Git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一般来说,日常使用只要 ...
- 常用 Git 命令清单
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命 ...
- 常用Git命令清单。
上期传送门:[清单]7个管理和优化网站资源的工具 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository: ...
- 常用 Git 命令清单【转】
转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是 ...
- 常用Git命令清单(转)
文/阮一峰 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图 6 个命令,就可以了.但是熟练使用,恐怕要记住 60-100 个命令. 下面是我整理的常用 Git 命令清单.几 ...
随机推荐
- hdu 1277 全文检索 (字典树应用)
全文检索 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- JavaScript面试题(转)
JS相关问题 数组去重 function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++) ...
- maven的理解和使用
一.maven是什么? maven是项目管理工具 二.maven为什么要用? 在做开发的时候常常会用到外部的工具包(jar包),这就需要你一个一个的去他们的官网下工具包,然后在项目里依赖他们,比较的麻 ...
- Windows添加远程访问用户
Windows远程访问 命令:mstsc ------------------------------------------------------------------------------- ...
- POJ - 3659 Cell Phone Network(树形dp---树的最小点支配集)
题意:有N个点,N-1条边,任意两点可达,由此形成了一棵树.选取一个点a,它可覆盖自己以及与自己相邻的点,选取尽量少的点a,使得树中所有点都被覆盖,即求树的最小点支配集. 分析: 1.对于每一个点cu ...
- POJ - 3661 Running(dp---背包)
题意:Bessie要运动N分钟,已知每一分钟可以跑的距离,每一分钟可选择跑或者不跑,若选择跑,疲劳度加1,但疲劳度不能超过M:若选择不跑,则每过一分钟,疲劳度减1,且只有当疲劳度减为0时可以继续跑.求 ...
- GIT 操作文档
https://git-scm.com/book/en/v2 安装git地址:https://git-scm.com/downloads 一.初始化设置 1.设置你用户名称与邮件地址(每一个 Git ...
- 流程控制语句反汇编(1)(Debug版)
// 流程控制语句反汇编 //Author:乾卦 Date:2014-5-8 #include<stdio.h> int main() { ,b=; if(a>b) { a=b; } ...
- 阿里云云服务器测试uwgis的基本流程
基本背景 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsg ...
- ADFS 4.0 证书更新
ADFS 4.0 证书更新 由于公网证书的过期,需要重新更新ADFS的服务通信证书: 证书要求: 带私钥 PFX格式 更换流程: 证书安装到 证书\计算机\个人,安装后点开证书能看到"你有一 ...