--------------------------基本操作--------------------------
clone 拷贝远程仓库
commit 本地提交
push 远程提交
pull 更新本地
--------------------------初始化Git--------------------------
git init 初始化本地库(<自动创建.git隐藏目录> 不要删除and修改)
ll -lA 查看当前目录的所有文件(包含隐藏文件)及权限
--------------------------设置签名--------------------------
作用:区别不同开发人员的身份(与登录远程库的账号密码没有任何关系)
项目级别->仅在当前本地库范围内有效
git config user.name petch_pro
git config user.email prtch01_pro@qq.com
查看签名:cat .git/config(保存路径)
系统用户级别->登录当前操作系统的用户范围
git config --global user.name petch_glb
git config --global user.email petch01_glb@qq.com
查看签名:cd ~(切换家目录)
cat .gitconfig(保存路径)
优先级:项目级别>系统用户级别(二者最少有一个存在)
--------------------------查看状态--------------------------
git status 查看工作区、暂存区状态
--------------------------添加--------------------------
git add 将工作区的“新建/修改”文件添加到暂存区
--------------------------提交--------------------------
git commit -m "提交信息" 文件名
--------------------------查看历史日志--------------------------
git log 多屏显示历史记录(空格向下翻页、b向上翻页、q退出)
git log --pretty=oneline / git log --oneline 当行显示
git reflog 单行显示(常用)
--------------------------版本切换--------------------------
git reset --hard 索引值 切换历史版本
git reset --hard HEAD^ 退回前一个历史版本(^可以为多个)
git reset --hard HEAD~n 后退n步
--------------------------版本切换的三个参数--------------------------
reset 三个参数对比
--soft -> 仅仅在本地库移动HEAD指针
--mixed -> 在本地库移动HEAD指针,重置暂存区
--hard -> 在本地库移动HEAD指针,重置暂存区and工作区
--------------------------文件删除&找回--------------------------
rm 文件名 删除文件
git reset --hard 指针位置 删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库或暂存区
--------------------------文件比较--------------------------
git diff 文件名 将工作区的文件和暂存区进行比较
git diff 历史版本(索引值/HEAD^/HEAD~) 文件名 将工作区的文件和本地库历史进行比较
--------------------------分支操作--------------------------
好处:同时并行推进多个功能的开发,提高开发效率
各个分支开发过程中,如果某一分支开发失败,不会对其他分支造成影响。失败的分支删除重新开始即可。

git branch 分支名 创建分支
git branch -v 查看分支
git branch -a 查看所有分支(远程&本地)
git branch -r 查看所有远程库分支
git checkout 分支名 切换分支
git branch -d 分支名 删除分支

合并分支
1.git checkout 分支名 切换到接收修改的分支 
2.git merge 新内容的分支名
冲突问题
冲突的表现:在不同的分支中同一文件同一行的内容不同时,在自动合并过程中就会发生冲突,需要手动合并
解决冲突:
1.编辑文件删除因为冲突导致系统添加的特殊符号
2.修改文件,保存退出
3.git add 文件名
4.git commit -m "日志信息" (注意:在这里不能加文件名)
--------------------------远程操作--------------------------
git remote -v 查看地址别名
git remote add 地址别名 地址 增加地址别名
git push 地址别名 分支名 推送本地仓库到远程库(前提该GitHub账号是团队成员)
git clone 地址 远程仓库拷贝到本地(带.git目录<自带初始化、自带地址别名、自带用户签名>)

git pull 地址别名 分支名 将远程库拉取到本地
pull = fetch +checkout+ merge
git fetch 远程地址别名 分支名 获取远程分支
git checkout 远程地址别名/分支名 切换本地分支
git merge 远程地址别名/分支名 合并

冲突问题:
1.如果不是基于GitHub远程库的最近版本做的修改,不能推送,必须先拉取
2.拉取下来如果进入冲突模式,则按照“分支冲突解决”即可

跨团队协作:
1.将GitHub链接发送给外援
2.外援打开GitHub链接,并点击fork
3.外援完成自己的工程后,push工程
3.外援到自己的GitHub上,依次点击 Pullrequests->New pull request->Create pull request->编辑消息发送给工程所有人
4.工程所有人登录GitHub,可以与外援对话,点击Commits查看代码(点击Files changed查看修改部分)没问题后,点击 Merge pull request
5.其他人将远程库pull到本地

Git的工作流程

Git与GitHub常用操作的更多相关文章

  1. git、github常用操作

    1.将github项目拷贝到本地 $ git clone https://github.com/jim2500/miaosha_project.git 2.修改本地项目上传到github T470s@ ...

  2. Git安装与常用操作

    Git作为一个版本控制工具,使用前需进行下载安装:可自行到官网下载. 一.安装(windows) 1.双击下载好的文件进行安装,弹窗中点击"next" 2.默认勾选,继续点击&qu ...

  3. git学习 本地常用操作01

    注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...

  4. git命令行常用操作总结

    关于 更多使用细节(grammar和book),请参考 官网 1.上传代码 1.1 创建自己的远程Repository, github或者gitee 1.2 创建本地git仓库 $ git init ...

  5. github常用操作

    1.创建一个新的repository: $cd ~/hello-world        //到hello-world目录,本地目录名与repository的名字不一定相同 $git init    ...

  6. git入门(4)团队中git保管代码常用操作

    在团队中协作代码时候,一定要熟练使用以下git命令,不至于把代码库弄乱, PS:一定要提交自己代码(git push)时候,先进行更新本地代码库(git pull),不然提交异常 git常用命令 1· ...

  7. Git介绍及常用操作演示(一)--技术流ken

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  8. CI 知识 :Git介绍及常用操作

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  9. git到GitHub的操作和遇到的一些问题

    一.新建完项目后执行git git status //查看状态,任何时候都可以用 1. git init //初始化文件夹,并创建.git本地仓库(.git默认隐藏) 2. git add . //把 ...

随机推荐

  1. python进入adb shell交互模式

    import subprocess #方法一:进入某个环境执行语句(adb shell),注意shell内部命令需要带\n,执行完后一定记得执行exit命令退出,否则会阻塞 obj = subproc ...

  2. 关于go的通信通道channel——chan的一些问题

    go版本 1.8 chan类型的声明,有以下几种: var c chan int c := make(chan int) //slice.map.chan都可以通过用make来初始化,其中map.ch ...

  3. spring源码阅读笔记09:循环依赖

    前面的文章一直在研究Spring创建Bean的整个过程,创建一个bean是一个非常复杂的过程,而其中最难以理解的就是对循环依赖的处理,本文就来研究一下spring是如何处理循环依赖的. 1. 什么是循 ...

  4. MapReduce基本认识

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算. 主要由Split.Map.Partition.Sort.Combine(需要自己写).Merge.Reduce组成,一般来 ...

  5. 4、flink自定义source、sink

    一.Source 代码地址:https://gitee.com/nltxwz_xxd/abc_bigdata 1.1.flink内置数据源 1.基于文件 env.readTextFile(" ...

  6. 如何在 Windows Event Log 中查找系统重启的信息

    事件ID:12 事件ID 13: 事件ID 41: 事件ID 6008: 事件ID 1074:事件ID 1074: ========================================== ...

  7. Pycharm中设置encoding

    在Pycharm专业版中,为了防止文件在别的机器上出现乱码,所以需要进行字符编码的设置. 首先在Pycharm中的View中将下图中的Toolbar打上勾. 接着,工具栏就会出现,选中settings ...

  8. 标准库模块time,datetime

    在Python中,通常有这几种方式来表示时间: 1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素. 由于Python的time模块实现主要调用C库,所以各个平台可能有所 ...

  9. 【Linux常见命令】cut命令

    cut - remove sections from each line of files 参数: -b 可以按字节来查看文件中的内容 -b参数用在中文上,容易出现乱码问题.因为中文字符一个字符占两个 ...

  10. linux下报错:error while loading shared libraries

    linux执行bin程序报: error while loading shared libraries:libncurses.so.5: cannot open shared object file: ...