--------------------------基本操作--------------------------
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. DataTable运用

    DataTable dataDis.AsEnumerable().Sum(bu => bu["QtyPlan"].ConvertInt32()); ndata.TDefSty ...

  2. Matplotlib 误差线的绘制和子图的创建方式

    一.绘制误差线 使用errorbar方法可以绘制误差线. x = np.linspace(0,10,50) dy=0.8 y = np.cos(x) + dy*np.random.randn(50) ...

  3. RedHat Linux server 6.5系统关机重启失败问题总结

    今天晚上升级服务,由于服务器(red hat Linux server 6.5操作系统)没有正常关机,再重启的过程中遇到了如下问题: 1 服务器配置挺高的,认为启动过程有点慢是正常的,当时就没有上心, ...

  4. JAVA企业级应用TOMCAT实战(二)

    使用普通用户运行 使用普通用户来部署服务是比较安全的做法 [root@tomcat application]# useradd -u tomcat [root@tomcat application]# ...

  5. HDU 5416 CBR and tree

    #include<bits/stdc++.h> using namespace std; #define for(i,a,b) for(int i=a;i<=b;++i) //T,N ...

  6. MutationObserver 监听 DOM 树变化

    MutationObserver 是用于代替 MutationEvents 作为观察 DOM 树结构发生变化时,做出相应处理的 API .为什么要使用 MutationObserver 去代替 Mut ...

  7. 【kafka KSQL】游戏日志统计分析(1)

    [kafka KSQL]游戏日志统计分析(1) 以游戏结算日志为例,展示利用KSQL对日志进行统计分析的过程. 启动confluent cd ~/Documents/install/confluent ...

  8. Centos7网络配置( 网关、dns、ip地址配置)

    0.前提:设置VMware的虚拟网络编辑器 子网和网关设置   虚拟网络编辑器 1.配置DNS(可忽略) $vim /etc/resolv.conf nameserver 192.168.0.1 2. ...

  9. VScode像Codeblocks一样,不启动调试和Debug直接运行

    要是配置C++ 编译环境,这边走 用了VScode童鞋,都知道,写C++是不保留窗口的,除非打上断点或者: system("pause"); 这里给大家分享一种不需要,F5或者Ct ...

  10. CodeForces - 1047CEnlarge GCD(这题很难,快来看题解,超级详细,骗浏览量)

    C. Enlarge GCD time limit per test1 second memory limit per test256 megabytes inputstandard input ou ...