git

git add . 将本地文件增加到暂存区
git commit -m "信息" 将暂存区的内容提交到本地分支,本地分支(默认master)
git push 将本地仓库的内容推送到远程仓库(远程分支)
git pull 将远程仓库(远程分支)的内容 下载到本地仓库(本地分支)

配置git --用户名和邮箱

git config --global user.name "qmh"
git config --global user.email "1158988760@qq.com"
在本地C盘/用户/.gitconfig 查看用户名和邮箱


在本地新建git项目
在项目根目录 鼠标右键 git bash
小黑窗口里:git init(初始化)

在远程建立git项目
在远程GitHub上建立库,https://github.com/InYourFuture/git-exs

免秘钥登录
配置SSH:先在本地配置,发送给远程

先在本地生成ssh
ssh-keygen -t rsa -C 1158988760@qq.com 然后一直回车

在GitHub的个人中心-->settings-->SSH and GPG keys

将本地生成的id_rsa.pub公钥复制到GitHub的 new SSH keys(注意不要有回车,空格)

测试连通性:
ssh -T git@github.com

 


本地项目 -- 远程项目关联
git remote add origin git@github.com:InYourFuture/git-exs.git


第一次发布 (本地-远程)
git add . //文件 -->暂存区
git commit -m "信息" //暂存区-->本地分支(默认master)
git push -u origin master


第一次下载项目(远程---本地)

git clone git@github.com:InYourFuture/git-exs.git

更新(远程---本地)
git pull

提交(本地-远程)
git add . //文件 -->暂存区
git commit -m "信息" //暂存区-->本地分支(默认master)
git push origin master

 

 

第一步:创建本地库的文件夹:

$ mkdir learngit
$ cd learngit
$ pwd

C:/Users/michael/learngit
第二步:通过git init命令把这个目录变成Git可以管理的仓库

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

使用命令git add <file>,注意,可反复多次使用,添加多个文件;
使用命令git commit -m <message>,完成。


git status命令可以让我们时刻掌握仓库当前的状态
git diff <name>顾名思义就是查看difference

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。


git rm 删除一个文件
git log --graph命令可以看到分支合并图。


分支

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>


git log 可以查看提交历史,以便确定要回退到哪个版本。
git reset --hard 1d067d6a945672fdff0efa7e12aca185c9de8bcd 回退到某个版本

git reflog 可以查看全部的提交历史
git reset --hard df36396 版本回退

 

git stash 把未提交的数据保存起来(不提交,仅仅只是保存起来)_

git stash pop 把未提交的数据取出来

 

今日内容:git

1. 版本管理工具
- git
- svn

https://git-scm.com/downloads

2. 大表哥创业故事:北京热

a. 初次创建版本
git init
git config --global user.email "you@example.com"
git config --global user.name "Your Name"


git status
git add .
git commit -m "初次提交"
b. 版本迭代
git log
git reflog

git reset --hard 版本ID

c. 开发新功能:附近的人

git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号,删除指定编号的记录

用于个人开发

d. 分支
git branch 查看所有分支
git branch dev 创建分支
git checkout dev 切换到分支
git branch -d dev 删除分支

git merge dev 合并分支

从此以后:
- master
- dev

问题:你们在公司如果遇到要紧急修复的bug,怎么解决?
在master分支上创建一个debug分支,在debug分支上进行修复,修复完毕后再合并到master并删除debug分支;
再次切换会dev分支,进行开发....

e. 代码仓库,
个人:
- github
- 码云
公司:
- gitlab

模拟情况:
创建代码仓库:https://github.com/ayuchao/bjhot.git

家里:
git remote add origin https://用户名:密码@github.com/ayuchao/bjhot.git

git push origin dev
git push origin master

公司:
git clone https://用户名:密码@github.com/ayuchao/bjhot.git
git branch dev
git checkout dev
git pull origin dev

写代码
git add .
git commit -m 'xxx'
git push origin dev

家里:
git pull origin dev
写代码
git add .
git commit -m 'xxx'
git push origin dev
公司:
git pull origin dev
写代码
git add .
git commit -m 'xxx'
git push origin dev



总结:
git做版本管理:本地
github是代码托管仓库:远程


1. 请书写你了解的git命令?
准备:
git init
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git remote add origin https://github.com/ayuchao/bjhot.git
git remote add origin https://用户名:密码@github.com/ayuchao/bjhot.git

提交:
git add .
git commit -m 'xxxxx'
git push origin dev

下载:
git clone https://github.com/ayuchao/bjhot.git

等价于:
1. 手动创建文件夹bjhot
2. 进入文件夹
3. git init
4. git remote add origin https://用户名:密码@github.com/ayuchao/bjhot.git
5. git pull origin master

git pull origin master

合并:
git merge

日志回滚:
git log
git reflog
git reset --hard asdfasdfasdfadsfasdfasdf

暂存:
git stash
git stash pop

第二部分:git相关
1. git是什么?以及作用?其他:svn、vss

2. github是什么?
github公共服务
gitlab自己搭建
3. git命令

4. 使用git开发规范是什么?
- 分支:
- master
- dev
- 如果bug怎么解决?
创建debug分支
5. 命令补充
见:示例图


今日内容:
1. git
2. 用户登录:验证码
3. 上传头像: 预览
4. CBV

内容详细:
1. git
第一阶段:基于git进行本地操作

第二阶段:出现bug临时修复

第三阶段:基于github做代码托管

问题:忘记推代码,可能在公司、家拉代码时,产生冲突。

其他:
git pull orgin dev
等价于:
git fetch origin dev
git merge origin/dev
约等于(不分叉):
git fetch origin dev
git rebase origin/dev

问题:git rebase的作用?
保持提交记录的整洁

第四阶段:协同开发(多人开发)
合作者模式:
1. 合作者
项目拥有者需要向新用户发起邀请
2. 为每个用户创建一个分支
- master
- dev
- wupeiqi
- yuachao

面试题:你们是否做代码review?
再创建一个review的分支,由组长老大(资深的开发)来进行查看。
组织:
1. 创建组织

2. 邀请成员(加写权限)

第五阶段:你觉得自己写代码很牛逼,去给别人找bug
1. fork
2. 修改
3. pull request

面试题:在git上如何给别的开源程序贡献代码?
- fork
- pull request


其他:
1. 关于连接和记住密码
https:
https://用户:密码@github.com/WuPeiqi/dbhot.git

ssh:
git@github.com:WuPeiqi/dbhot.git

a. 在终端创建一对秘钥
ssh-keygen

cd ~/.ssh/
cat id_rsa.pub 打开文件,并赋值内容,然后粘贴到github上

b. github个人账户settings
内容贴进去

2. 忽略文件

3. issue进行项目问题的讨论

4. wiki

5. 使用tag做 版本管理
git clone -b v1.0 https://github.com/ayuchao/bjhot.git

 

posted @ 2018-09-03 10:40  三师弟悟净  阅读(118)  评论(0编辑  收藏  举报