git使用--管理代码

今日学习以下git,以便管理代码

git学习:https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000  作者:廖雪峰

一、分布式控制系统   作者:理那厮·掏袜子

1. 自动记录每次文件的改动

2. 伙伴、同事一起管理项目,无须在将文件来回传动

3. git是由c语言写的

4. CVS和SVN都是集中式的版本控制系统

  • 先从中央服务器取得最新版本,再干活,再将自己改动的文件推送到中央服务器
  • 集中式版本控制系统最大的毛病必须联网,提交一个10M的文件就需要5分钟。。。
  • 分布式版本控制系统无须联网,本地电脑都有一个完整的版本库,有网时在传就行

二、安装git

转载:https://www.cnblogs.com/xiaoliu66/p/9404963.html    作者:名字想半天

三、创建版本库

windows下操作(其实和mac系统的操作差不多)

1. 在E盘创建GIT(即中央仓库repository),并初始化

cd E:
mkdir GIT

// 如果创建错了,在cmd使用del
del ...

// 初始化(在E:\GIT)
git init

// 在GIT出现.git目录,用来跟踪管理版本库

2. 把文件添加到版本库

// 第一步
// 写一个Hello.txt文件,用于测试git,最好使用notepad++来写,可以保存为UTF-8格式

Hello GIT
时间:2019/7/27

Git is a version control system
Git is free software

// 把文件放在GIT文件下

// 第二步  将文件添加到git中

git add Hello.txt

// 第三步  将文件提交到仓库

// -m:本次提交的说明,可以看到改动的记录
git commit -m "learning git"

// 执行后出现
// 1.file changed
// 2.insertions

// 也可以添加多个文件

3. 将文件上传到服务器中,会出现要出示身份验证

E:\GIT>git config --global user.email "xxx@qq.com"

E:\GIT>git config --global user.name "xxx"

// 再次上传文件

三、修改提交文件

// 显示文件内容
type Hello.txt

// 修改文件内容  
windows dos没有文件编辑器   直接使用notepad++进行修改

// git status查看当前的文件的状态
// git diff Hello.txt  可以查看上次修改了什么内容


// 再提交到仓库
// 退回版本
git log  // 可以查看修改日志

// 简化日志信息
git log --pretty=oneline

// 退回到上一个版本  
// HEAD 当前版本
// HEAD^ 上一个版本
// HEAD^^ 上上一个版本
// HEAD~100 上100个版本


git reset --hard id

// git reflog查看命令历史

安装Tortoise git(乌龟git)   可以可视化git

转载: https://blog.csdn.net/jdsjlzx/article/details/51098588   作者:一叶飘舟

Tortoise git使用:https://www.cnblogs.com/xuwenjin/p/8573603.html  作者:仅此而已-远方

四、工作区和暂存区

GIT--工作区

GIT下的.git--版本库

需要提交的文件修改通通放在暂存区

  • git add 把文件添加到暂存区
  • git commit 把暂存区的所有内容提交到当前分支

 撤销修改操作,只要没有执行commit   还在缓存区

用版本库中的文件替换到工作区:git checkout -- Hello.txt

删除文件:git rm Hello.txt

五、远程仓库

1. 创建本地库

// 连接github

// 1. 创建SSH Key 
ssh-keygen -t rsa -C "xxx@qq.com"

// 会在C:\Users\A\ 出现 .ssh文件  
// 文件夹下有id_rsa和id_rsa.pub

// 第二步

// 登录Github,打开Account settings
// Add SSH Key  填写title,在Key文本框粘贴id_rsa.pub
// Add Key

2. 添加远程库

// 本地仓库和远程仓库来连接在一起
// Git_Test是本地仓库
// Yan_Git_Test为github仓库

git remote add origin https://github.com/yanshiwu/Yan_Git_Test.git

// 将本地仓库推送到远程
// 把当前分支master推送到远程

git push -u origin master

3. 从远程库克隆

// 1. 在github创建新的reposity

// 2. clone创建的repostity

git clone https://github.com/yanshiwu/gitskill.git

六、分支管理

说明:如果你的工程写到一半,现在提交也无法让别人测试,因此有了分支,只有自己看见
           创建分支极快

1. 创建于合并分支

  • master指向提交
  • HEAD指向当前分支
  • 每次提交,master分支都会向前移动一步,因此master分支的线越来越长
// 创建分支并切换到dev分支

git checkout -b dev

// Switched to a new branch 'dev'

==
git branch dev
git checkout dev


// 查看当前分支   当前分支会标一个*号

git branch


// 切换到master

git checkout master


// 合并

git merge dev

// 删除branch

git branch -d dev

2、解决冲突

// 准备新的分支

git checkout -b feature1

// 修改Hello.txt并提交

git add Hello.txt

git commit -m "AND simple"

// 切换到master

git checkout master

// 再次修改Hello.txt

// git merge feature1  发生冲突

// 因此使用手动解决冲突

// git log --graph命令看到分支合并图

3、分支管理策略

// 禁用Fast forward

git merge --no-ff -m "merge with no-off" dev

4、bug分支

当出现bug,git stash功能

git checkout master

// 在issue-101分支修复
git checkout -b issue-101

git add Hello.txt

git commit -m "fix bug 101"

git checkout master

git status

git stash pop 恢复的同时把stash内容也删了

5、feature分支

  • 开发一个新的feature,最好新建一个feature
  • 丢弃一个没有被合并过的分支,通过git branch -D <name>   D表示强行删除

6、多人协作

从远程仓库克隆时,git自动将本地的master分支和远程的master分支对应起来,git默认为origin

当最新提交和试图推送的提交有冲突,先用pull把最新的提交从origin/dev爬下来,然后在本地合并

git clone git@github.com:yanshiwu/GIT_Test.git

git branch

// 创建远程origin/dev分支到本地

git checkout -b dev origin/dev

git add env.txt

git commit -m "add env"

git push origin dev

多人协作模式:(转载:廖雪峰)

  • 首先,可以试图用git push origin <branch-name>推送自己的修改
  • 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并
  • 如果合并有冲突,则解决冲突,并在本地提交
  • 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

7、Rebase

每次创建新的分支,然后再合并,这样就会很乱

这时要使用Rebase,将分叉线变为直线

git rebase

七、标签管理

1.创建标签

git tag v1.0

git tag

git log --pretty=oneline --abbrev-commit


// 查看标签信息
git show <tagname>

git tag -d v0.1

--------------------------------------

上传代码时遇见的问题:

fatal:origin already exists :git remote rm origin

push时出现的错误:要合并git pull origin master    再上传

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值