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 ...
随机推荐
- php基本函数的学习(2)
chgrp chgrp — 改变文件所属的组 说明: bool chgrp ( string $filename , mixed $group ) 尝试将文件 filename 所属的组改成 grou ...
- Django使用模板后无法找到静态资源文件
Django使用模板后无法找到静态资源文件 环境配置 Django版本1.11 python版本3.6.2 前言 在编写Django网站的时候,在涉及模板方面,一些简单的例子都没有问题,但这些例子都有 ...
- 面试题:HTTP与HTTPS
记录个面试题 HTTP与HTTPS的不同 1.HTTP的URL为http://开头,HTTPS的URL为https://开头 2.HTTP标准端口80,HTTPS标准端口是443 3.在OSI网络模型 ...
- python每天一个小练习-列表元素非唯一
列表元素非唯一 来源 checkio 需求 你将得到一个含有整数(X)的非空列表.在这个任务里,你应该返回在此列表中的非唯一元素的列表.要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表 ...
- Davinci DM6446开发攻略——u-boot-1.3.4移植(1)
UBOOT的版本更新速度比较快,截止今天,稳定正式的版本是u-boot-2009.11-rc2,而TI最新的EVM开发包里的UBOOT是1.2.0版本,国内很多公司还一直使用u-boot-1.1.4和 ...
- AFDX总线协议规范
AFDX总线协议规范 1.概述 2. AFDX简介 3.AFDX的在数据传输性能的改进 3.1 AFDX以太网帧格式 3.2 AFDX以太网冗余备份 3.3 虚拟连接 3.4 数据交换处理 4.航空计 ...
- FusionCharts 3D帕累托图报错
今天我在设计3D帕累托图时,是由原来的2D帕累托图页面重命名而来,但是当我重命名后发现HTML文件打不开,而且还报错,真不知道是什么原因引起的.因此,我就将这个错误截图,保存下来,希望以后能够解决,或 ...
- VxWorks程序指南
******************************************* 一.任务 ******************************************* 任务状态:挂起 ...
- Column 'id' in where clause is ambiguous
1.错误描述 org.hibernate.exception.ConstraintViolationException: error executing work at org.hibernate.e ...
- TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。
1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array. at mx.charts.series::LineSeries/ ...