赞
踩
比如说,我们要做某一个程序,你手中有一份办成品,但现在需要在上面进行修改。
你怕修改之后万一出现什么错误,把原来的文件也弄坏了;
每当我们完成一个新的需求点之后,又来了对这个需求更好的实现方式。为了能够有及时发布我们不得不对原来的代码进行保存
于是你不得不复制出一个又一个副本,随着需求点越来对多,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多不是问题,问题是:随着版本数量的增多,你还记得这些版本各自都是修改了什么吗?
为了能够更方便我们管理这些不同版本的文件,于是有了版本控制器。
https://git-scm.com/downloads
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
# 生成sshkey
ssh-keygen -t rsa
#执行完毕上面命令之后,按几次回车
#查看公钥的内容,复制到git的sshkey位置
cat ~/.ssh/id_rsa.pub
mkdir learngit //创建
cd learngit //使用
pwd //查看当前目录
git init //初始化,生成.git文件(若该文件隐藏,则使用ls -ah)
状态模型
git add . #当前文件夹以及子文件夹
git add fileName #某个文件
git commit -m '备注提交内容'
以码云为列进行安装-----需要配置公钥
git clone xxxx地址 (不加分支默认master)
#默认拉取master分支代码
git clone git@gitee.com:liuzhenyu666/test0130.git
git clone -b xxxxx分支 xxxx地址 (不加分支默认master)
#拉取dev分支代码
git clone -b dev git@gitee.com:liuzhenyu666/test0130.git
git status #查看当前仓库状态
git add . #添加到暂存区
git commit -m 'xxxx' #添加到本地仓库
git pull # 同步远程仓库到本地,检查远程仓库是否比本地版本更高一些
git push #推送到远程仓库
git log #日志
git log --pretty=oneline #美化输出,行格式显示
git log --pretty=oneline --abbrev-commit #简化版本号 行格式显示
#版本相关,如果再版本回滚时误操作了,可以通过这
#个地方来找历史的版本号和命令进行恢复
git reflog
git checkout xxx #撤销某个文件修改,这里的数据还没有提交到暂存区
git checkout . #撤销当前文件夹内所有修改
git reset --hard HEAD #放弃暂存区中所有的修改和新增
版本回退,慎用
git reset --hard HEAD #放弃当前所有修改,回退到当前版本
git reset --hard HEAD^ #回退到上一个版本
git log //查看提交历史记录,从最近到最远,可以看到3次
git log --pretty=oneline //加参,简洁查看
git reflog //查看每一次修改历史
cat test.txt //查看文件内容
git status //查看工作区中文件当前状态
git reset --hard HEAD^(HEAD~100)(commit id) //回退版本
git checkout -- test.txt //丢弃工作区的修改,即撤销修改
git reset HEAD test.txt //丢弃暂存区的修改(若已提交,则回退)
ssh-keygen -t rsa -C "youremail@example.com" //创建SSH Key
git remote add origin git@github.com:Daisy/AKgit.git //关联
git push -u origin master //将本地内容推送到远程仓库(第一次)
git push origin master //将本地内容推送到远程仓库(之后)
git remote -v //查看远程仓库信息
git remote rm origin //删除远程仓库(解绑)
git clone git@github.com: Daisy/AKgit.git //克隆远程仓库
//克隆之后使用和查看
cd gitskills
ls
git remote //查看远程库的信息
git remote -v //查看远程库的详细信息
git branch #查看本地分支
git branch -a #查看所有分支
git checkout -b xxx分支名字 #创建并切分支
git branch xxx分支 #创建
git checkout xxx分支 #切分支
git checkout master #切换到master分支
git merge xxx分支名字 #合并分支
git branch -d # 删除已合并的分支,有未合并代码不允许删除
git branch -D # 强制删除有未合并代码的分支
git push origin --delete dev_new #删除远程分支
git push origin xxx分支名字
git checkout master
git pull origin xxx分支名字 #远程拉取XX分支
git merge origin /xxx分支名字
git push
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。