git 使用方式
一、常用操作命令
1、初始化操作
git config --global user.name '<name>' # 设置提交者名称
git config --global user.email '<email>' # 设置提交者邮箱
git config --list # 查看以后配置
2、创建版本库
git clone <url> # 克隆 远程仓库
git init # 初始化本地库
3、创建删除分支
git checkout -b <branch> # 创建并切换至新的分支
git checkout -b <branch> <origin/branch> # 将远程origin/branch分支 拉到本地 branch分支,并切换到branch 分支
git checkout <branch> # 切换分支
git branch <branch> # 创建新分支
git branch -a # 查看所有分支 包括远程分支
git branch # 查看本地分支
git branch -D # 强制删除本地分支(慎用)
git branch -d # 删除本地分支
git branch -r -d <remote>/<branch> # 删除远程分支
4、创建标签
git tag #列出所有的标签
git tag <tagname> #创建新的标签
git tag -d <tagname> #删除标签
5、提交及修改
git add . # 提交所有文件至暂存区
git add <file> # 提交单个文件至暂存区
git rm -f <file> # 删除暂存区文件 和 物理文件
git rm --cached <file> # 删除暂存区文件 回到工作区
git commit -m '<注释>' # 提交至本地分支 并注释
git reset --hard HEAD^ # 撤回至上一次提交,之前的提交文件都会丢失
6、合并
git merge <branch> # 合并分支
7、远程操作
git pull <remote> <branch> # 拉取远程分支代码
git push <remote> <branch> # 提交分支代码
git push -d <remote/banch> # 删除远程分支
git push <remote> :<branch> # 删除远程分支 需配合 git branch -r -d <remote>/<branch> 一起使用
git push -tag # 提交所有 标签
8、藏存
git stash # 将当前修改存储
git stash pop # 将存储释放
9、远程地址操作
git remote -v # 查看远程仓库地址
git remote rename origin origin-old # 修改远程仓库地址origin 改为origin-old
git remote add origin [url] # 添加远程地址origin
git remote origin set-url [url] # 将origin 的远程仓库地址变更
10、修改分支,并删除远程旧分支,提交新分支
// 本地 旧分支oldbranch 改成新分支 newbranch
git branch -m oldbranch newbranch // 删除远程仓库内的旧分支oldbranch
git push --delete origin oldbranch // 提交新分支至远程仓库
git push origin newbranch
二、简单git操作
1、拉取代码(该操作只需要一次)
git clone <url>
2、拉取最新代码
git pull
3、切换新的分支
git checkout -b <branch> # 与git branch <branch> 然后 git checkout <branch> 两步操作的结果是一样的
4、合并别人的分支尽心开发(如果你的这次任务需要合并别人的分支,进行开发则进行如下操作,不需要请跳过)
git merge <remote>/<branch> # 合并 某分支代码
git add . # 将其提交至暂存区
git commit - m '已合并XXX分支代码' # 提交至自己当前分支
5、自己的任务修改完后,将代码从你自己本地的工作区提交至暂存区
git add . # 提交所有的代码至暂存区
6、撤回暂存区提交的多余的修改文件(不需要撤回请跳过)
git rm -cached <file> # 撤回暂存区提交的多余文件
7、将暂存区代码提交至当前分支
git commit -m '<注释>'
8、将当前分支提交至远程库
git push <remote>/<branch> # 如果你的分支是test 那么就 git push origin/test
9、切回master 分支,再次拉取最新代码进行下一次开发
git checkout <branch> # 切回至主分支,一般是master 分支
git pull # 拉取最新的代码
git checkout -b <branch> # 创建并切换到一个新的分支,开始下一个任务的开发 。。。。。如此循环的
三、github参与他人项目的开发
1、进入原作者的github 项目,点击frok 参与。
2、此时进入自己的github,我会发现多了一个与原作者相同的项目。
3、此时从你的这个项目中clone到你本地修改提交后。再去点击New pull request
4、此时你会看到你之前修改提交上来的内容,点击create pull request 将你的修改提交给原作者
5、原作者看到后,会自行决定,合并与否。下面的原作者的github
原作者点击pull request
原作者点击是否合并参与者的内容
原作者确定合并
6、参与人如何保持与原作者的项目更新
进入参与者自己的github项目中点击 New pull request
选择compare across forks 。反向操作。base fork改为自己的,head fork改为原作者的。
合并 拉取最新
git 使用方式的更多相关文章
- git http方式时保存密码
一直使用ssh方式,但是git@osc的ssh只能pull,不能push - -||| htts方式保存密码老是忘记,每次提交代码都要输入密码烦死了.找到文章备忘: 转自:http://git ...
- Git认证方式https和ssh的原理及比较
常见的代码托管平台GitHub.GitLab和BitBucket等,基本都会使用Git作为版本控制工具.平台一般都提供两种认证方式https和ssh.了解该过程能够更加自由的配置和使用,本文就来简单聊 ...
- 超实用 Git 使用方式介绍
都说程序员若是不知道 GitHub 就不是一个合格的程序员,其实这话说的过分了,不知道就学嘛,今天我们就来说说 Git 和 GitHub 到底是什么. 我们在开发软件的时候,常常是需要多人协作完成,这 ...
- jenkins之配置git认证方式
在使用jenkins构建时候需要从git下拉代码,需要配置认证方式 http拉取代码 配置用户名和密码认证 添加认证 设置用户名和密码 git认证 设置私钥认证
- Git上手:四种常见的Git协同工作方式
1.集中式工作流 适用人群:开发小团队(4-5人),习惯使用SVN工具的小团队. 工作方式:团队组长创建远程仓库,创建一个master分支,组员可读可写. 每个开发人员都git clone远程仓库到本 ...
- git rebase VS git merge? 更优雅的 git 合并方式值得拥有
写在前面 如果你不能很好的应用 Git,那么这里为你提供一个非常棒的 Git 在线练习工具 Git Online ,你可以更直观的看到你所使用的命令会产生什么效果 另外,你在使用 Git 合并分支时只 ...
- git reflog 和git log :no branch git 提交方式
git reflog 和git log的区别,外加git cherry-pick的一种用法 git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被 ...
- builtroot 添加git 下载方式
1.buildroot/Config.in 配置default git server eg:config xxxx_GIT_SITE string "git site" defau ...
- Git HTTPS 方式自动保存用户名密码
一行命令搞定: git config --global credential.helper wincred 第一次输入用户名和密码提交,第二次就不需要了 参考: https://help.github ...
随机推荐
- 一步一步带你实现virtual dom(一)
一步一步带你实现virtual dom(一) 一步一步带你实现virtual dom(二)--Props和事件 要写你自己的虚拟DOM,有两件事你必须知道.你甚至都不用翻看React的源代码,或者其他 ...
- $_SERVER变量
$_SERVER is an array containing information such as headers, paths, and script locations. The entrie ...
- mysql忘记密码解决的办法
[很管用]忘记mysql root密码解决办法 1.编辑MySQL配置文件: 首先停止mysql服务, 然后开始编辑mysql配置文件:vi /etc/my.cnf在[mysqld]配置段添加如下一行 ...
- foo的出现
在计算机程序设计与计算机技术的相关文档中,术语foobar是一个常见的无名氏化名,常被作为“伪变量”使用. 从技术上讲,“foobar”很可能在1960年代至1970年代初通过迪吉多的系统手册传播开来 ...
- springmvc报406错误
springmvc出现406,无非就两种情况,第一,百分之九十是json包没加进来,第二,百分之十,就是@ResponseBody返回的的数据,在请求的URL中不能有 .html的后缀
- 用Node.JS+MongoDB搭建个人博客(万众期待的router.js)(四)
万众期待的router.js,是我现在最想写的一个博客.因为他包含了整个个人博客的精髓.在这里,所有的请求配置,返回的参数等等所做的业务逻辑都在这个文件里实现. 我会详细说明这些代码的作用,所以这篇博 ...
- linux 邮件服务器
邮件通信系统协议及概念:软件角色:MUA:邮件客户端MTA:邮件服务端MDA:邮件服务端模块邮件客户端:Mail User Agent,邮件用户代理邮件服务端:Mail Transfer Agent, ...
- HighCharts之2D回归直线的散点
HighCharts之2D回归直线的散点 1.实例源码 ScatterLine.html: <!DOCTYPE html> <html> <head> <me ...
- Unhandled event loop exception No more handles
1.错误描述 2.错误原因 3.解决办法
- 2016弱校联盟十一专场10.3 We don't wanna work!
能把 not working now 写成 not working hard now 还查一晚上也是没谁了 我的做法是维护两个set 分别是前20% 和后80% #include<iostrea ...