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 ...
随机推荐
- C++中结构体与类的区别(struct与class的区别)
转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.html C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据 ...
- (1)常见O(n^2)排序算法解析
一.选择排序 1.原始数组 2.遍历数组找到最小值索引,并将最小值索引与当前遍历索引位置互换 3.确定最小位置值,进行下一次遍历 4.java代码实现 /** * author:sam * date: ...
- GM8180_gpio内核模块调试
#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h& ...
- freemarker入门实例
freemarker入门实例 1.设计思路 (1)新建Maven Project (2)生成freemarker模板 (3)写freemarker页面ftl文件 (4)写测试文件 2.新建Maven ...
- java.sql.SQLException:Column Index out of range,0<1
1.错误描述 java.sql.SQLException:Column Index out of range,0<1 2.错误原因 try { Class.forName("com.m ...
- 芝麻HTTP:Scrapyd的安装
Scrapyd是一个用于部署和运行Scrapy项目的工具,有了它,你可以将写好的Scrapy项目上传到云主机并通过API来控制它的运行. 既然是Scrapy项目部署,基本上都使用Linux主机,所以本 ...
- 几个平台环境里视频编解码和图像scale的硬件加速的方法
记录一下遇到几个平台里的视频编解码和图像scale的硬件加速的方法 1,intel平台当包含GEN系列的集成GPU时,可用libva实现视频codec.颜色空间转换和图像scale的硬件加速,具体可使 ...
- hdu2242 考研路茫茫——空调教室
弱联通 #include<iostream> #include<cstdio> #include<cstring> #include<map> #inc ...
- iOS - Quartz 2D 第三方框架 Charts 绘制图表
1.Charts 简介 使用第三方框架 Charts 绘制 iOS 图表.GitHub 源码 Charts Charts 是一款用于绘制图表的框架,可以绘制柱状图.折线图.K线图.饼状图等.Chart ...
- EF6CodeFirst+MVC5+Autofac泛型注册 入门实例
贴一个EF6 CodeFirst模式结合MVC5和Autofac(泛型注册)的一个入门实例 网上类似的例子实在太少,最近自己也有用到这一块的知识,总结了一下,不要让后人踩了自己踩过的坑. 1:新建三个 ...