git和github的区别:
  简单来说,git是软件,github是代码仓库,可以用git向github提交和下载代码,也可以进行协同开发

下面详细介绍Git的使用
**************************基本上传代码到本地库**************************
'''
分为三个区域:
工作区、暂存区、本地库
'''
cd h:pythonweb/onlin_answers # 具体在需要上传的文件目录
一、初始化项目(建立仓库)
  git init

二、配置email和名字(设置签名,第一次才需要) # 区分开发人员
  git config user.name gyk # 项目级别(只在当前目录有效)
  git config user.email gyk
  或
  git config --global user.name gyk # 系统级别(任何目录有效)
  git config --global user.email gyk

三、添加文件到暂存区
  git add new_file.py

四、提交文件到本地仓库(双引号中是注释)
  git commit -m "第一次提交git项目" new_file.py

******************************其他基本操作******************************
1.查看工作区当前状态
  git status

2.显示历史提交记录
  git log

3.精简版git log
  git log --pretty=oneline # 显示完整版本索引
  git log --oneline # 显示部分版本索引

4.显示执行过的步骤
  git reflog

5.回滚(只能回退,不能向前)
  1.HEAD # 工作区、暂存区、本地库都会回滚
    git reset --hard HEAD^5 #hard表示当前版本,HEAD^表示上一个版本,HEAD^5表示前5个版本,以此类推
    git reset --hard 343dBdt # 回滚到指定版本(343dBdt)为版本号前7位
  2.mixed # 在暂存区、本地库回滚
    git reset --mixed 343dBdt
  3.SOFT # 仅在本地库进行回滚
    git reset --soft 343dBdt

6.比较差异
  1.比较当前(工作区)和之前(暂存区)的差异
    git diff new_file.py
  2.比较当前(工作区)和之前(本地库)的差异
    git diff HEAD new_file.py # HEAD后也可跟^,表示和历史版本比较
  3.将当前(工作区)和之前(本地库)所有文件比较
    git diff HEAD # 不指定文件名

********************************分支管理********************************
1.显示所有分支
  git branch -v

2.创建新的分支
  git branch hot_fix

3.切换分支
  git checkout hot_fix

4.合并到主分支
  一、切换到主分支
    git checkout master
  二、合并
    git merge hot_fix

  '''
    当合并分支时,同一文件的同一行在两个版本中都有所改动,发生冲突
    发生冲突表现为:
    <<<<<<<<<<:HEAD
    ....
    ==========
    >>>>>>>>>>:hot_fix
    ....
  '''

5.手动解决问题并保存,此时在用status查看时,显示合并中,建议add,再commit

6.用add标记冲突已解决
  git add new_file

7.用commit结束合并
  git commit -m '冲突已经解决' # 注:不要带文件名

*******************************github的使用*****************************
# www.cnblogs.com/alex3714/articles/5930846.html  # git详解

1.注册账号
2.创建仓库
3.将仓库的http地址复制下来
4.到本地git bash界面内

5.查看本地所保存的远程仓库
  git remote -v

6.给远程仓库新建一个别名,并保存在本地
  git remote add origin http://github....123... # origin为保存的别名

7.将本地库推送到远程仓库
  git push origin master

# 成员
克隆远程库
  git clone http://github....123...
  一个命令,三个效果:
    1.把远程库下载到本地
    2.创建远程地址别名
    3.初始化本地库
  add...
  commit...
  push...

8.邀请成员加入团队
  github账号内,settings-->Collaborators-->搜索成员账号-->点击add Collabrators
  -->点击Copy invite link,并复制链接-->发送给成员-->成员访问链接,并同意

# pull==fetch+merge
9.抓取(只是将远程库拉取到本地,但并没有与本地库合并)
  git fetch origin master

10.切换到origin的master查看
  git checkout origin/master

11.将远程和本地合并
  git merge origin/master

9.抓取并合并(在确定成员提交的内容没有问题的情况下,直接合并)
  git pull origin master

****************************远程推送时发生冲突**************************
# 成员
1. git push origin master
'''
此时会报错,提示推送失败
需要先进行拉取,并进行修改,再进行推送
'''
2. git pull origin master   # 进入megie状态
3. vim new_file   # 修改问题文件
4. git add new_file.txt   # 标记问题已解决
5. git commit -m '冲突已解决'   # 不带文件名
6. git push origin master

********************************跨团队协作******************************
# 第三方
1.创建自己的github
2.用自己的账号进入正在开发的远程库
3.点击右上角的Fork,等待Fork,Fork完毕之后该项目会复制道自己的github上
4.再进行clone、vim、add、commit、push等操作 # 克隆时地址还是原远程库的地址,push只能推送到自己的账号中,并可以进行查看
5.点击Pull request-->New pull Request-->Creat pull request-->通知原项目主人

# 原项目主人
1.进入自己的github主页
2.此时Pull request上会有1个未处理标记,点击查看第三方修改,还可以进行发消息交流
3.确定没有问题,则进行合并代码:点击Merge pull request-->填写log信息-->点击Confirm merge进行合并
4.此时已经合并到自己的远程库中,再进行拉取查看操作.......
5.协作完成

 

******************************用SSH进行上传*****************************
'''
SSH一台电脑只需要登录一次,后续上传不需要再登录
而Http每次上传都需要登录
'''

1.生成ssh目录
ssh-keygen -t rsa -C "1357xxxxxxx@163.com"

2.去对应目录C:\Users\specter\.ssh下用记事本打开 id_rsa.pub,复制ssh公钥

3.到git仓库中Settings里-->点击SSH and GPC key-->添加ssh key,粘贴进去

4.到git仓库中选ssh复制并在命令行中输入:
git remote add origin git@github.com:.....git

5.上传代码
git push -u origin master


***************************************************************************
********************************https上传*********************************
git上新建库,并复制https链接
本地建文件夹,bash进入,执行:
git clone https://........
生成库文件夹后,进入文件夹
将项目复制进去(不包含项目总文件夹)
bash进入库文件夹,执行:
git branch
git add .
git commit -m '******'
git push(结束)(若项目超过4m,需修改git配置文件)
***************************************************************************

 posted on 2019-10-17 14:24  ._东汕再  阅读(155)  评论(0编辑  收藏  举报