git版本管理

git版本管理

教程:(1)廖雪峰
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703354d8c6c01c904c7d9ff056ae23da865a000
(2)pro git第二版(汉化教程)
https://bingohuang.gitbooks.io/progit2/content/02-git-basics/sections/undoing.html#

(1)window安装

在Windows上使用Git,可以从Git官网直接下载安装程序:https://git-scm.com/downloads,(网速慢的同学请移步国内镜像),然后按默认选项安装即可
在这里插入图片描述
安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

(2)创建版本库

1.选择一个合适的地方,创建一个空目录:

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

2.git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

(3)文件添加到版本库

第一步,用命令git add告诉Git,把文件添加到仓库:
$ git add readme.txt
第二步,用命令git commit告诉Git,把文件提交到仓库:

$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

(3)常用命令

git status:时刻掌握仓库当前的状态
git diff:看看不同
git add 文件名:加入
git commit -m “描述”:提交
git log:查看提交记录
git log --pretty=oneline:查看提交记录(更简洁)
git reset: 回退 (HEAD:表示当前版本)
git reset --hard HEAD^ /HEAD~1:回退到上个版本
cat 文件名:查看文件的内容(linux中)
git reflog:用来记录你的每一次命令(序列)
git diff HEAD – 文件名:查看提交版本与新版本的区别
git checkout – file:丢弃工作区的修改(回退到上个版本)
git reset HEAD file:把暂存区的修改撤销掉

del test.txt:删除文件(linux:rm)
git rm test.txt:确实从版本库中删除

git remote add origin git@github.com:githib账号/learngit.git:已有的本地仓库与之关联
git push -u origin master:把本地库的所有内容第一次推送到远程库上 (origin远程库名)
git push origin master:把本地库的所有内容推送到远程库上

git clone git@github.com:githit账号/gitskills.git:克隆一个本地库(gitskills:githib上的库名称)

git checkout -b dev:创建dev分支,然后切换到dev分支
git branch:查看当前分支
git checkout master:切换回master分支
git merge dev:把dev分支的工作成果合并到master分支上
git branch -d dev:删除dev分支
git log --graph --pretty=oneline --abbrev-commit:可以看到分支的合并情况,,可以看到分支合并图
git merge --no-ff -m “merge with no-ff” dev:合并dev分支(–no-ff参数,表示禁用Fast forward)

git stash:把当前工作现场“储藏”起来
git stash list:查看保护的工作现场孩还在不
git stash apply:恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除
git stash pop:恢复的同时把stash内容也删了
git stash apply stash@{0}:恢复指定的stash

git branch -d feature-vulcan:删除分支(-D强行删除)

git remote:查看远程库的信息
git remote -v:显示远程库更详细的信息
git push origin master:推送分支,就是把该分支上的所有本地提交推送到远程库
git pull:把最新的提交从origin/dev抓下来,在本地合并,解决冲突,再推送

git tag v1.0:给当前分支打标签
git tag:查看所有标签
git tag v0.9 f52c633:对f52c633所在序列打上标签
git show v0.9:查看v0.9标签信息
git tag -a v0.1 -m “#” 1094adb:带有#说明的标签
git tag -d v1.0:删除某个标签 v1.0
git push origin v1.0:标签推送到远程
git push origin --tags:一次性推送全部尚未推送到远程的本地标签
(1)git tag -d v0.9:若已推送到远程,则先删除本地标签,再删除远程标签
(2)git push origin :refs/tags/v0.9

git remote -v:查看远程库信息
git remote rm origin:删除已有的GitHub远程库
git remote add origin git@gitee.com:duhong/learngit.git:关联远程库

git config --global color.ui true:让Git显示颜色,会让命令输出看起来更醒目

git add -f App.class:强制添加
.gitignore文件:后把要忽略的文件名填进去,Git就会自动忽略这些文件
git check-ignore:.gitignore检查

git config --global alias.st status:将status取别名为st

(3)工作区和暂存区

stage:暂存区
工作目录learngit文件夹:工作区
工作区有一个隐藏目录.git:版本库(Repository)
master:分支
HEAFD相当于指针
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)多人协作及Rebase需要重新看、配置别名、搭建git

1:自报家门

$ git config --global user.name “Your Name” --输入你的名字
$ git config --global user.email “email@example.com”–输入你的邮箱
2:创建版本库

$ mkdir learngit  --创建一个子目录
$ cd learngit  --切换到所要创建的子目录的上一层目录下
$ pwd    --把这个目录变成Git可以管理的仓库
3:把文件添加到版本库

$ git add readme.txt   把readme.txt文件添加到暂存区
$ git commit -m “wrote a readme file”  --把刚刚添加的文件继续提交,提交到Git的服务器文件分支中
4:版本管理

$ git status 查看文件状态
$ git diff readme.txt  查看各版本不同点
$ git log  版本提交历史记录
$ git reset --hard HEAD^  回退到上一版本
$ git reset --hard HEAD^^  回退到上上一版本
$ git reset --hard 3628164 根据 $ git log 中得到的版本号回退到对应的版本
$ git diff HEAD – readme.txt  查看工作区和版本库里面最新版本的区别
$ git checkout – readme.txt  丢弃工作区的修改
$ rm readme.txt  删除文件

5:远程版本库与本地版本库关联

$ git remote add origin git@github.com:michaelliao/learngit.git  
$ git push -u origin master  把本地库的所有内容推送到远程库上
$ git clone git@github.com:michaelliao/gitskills.git  从远程库克隆到github上
$ git clone git@github.com:michaelliao/gitskills.git  克隆一个本地库
$ git merge  命令用于合并指定分支到当前分支

6:分支管理

$ git branch  查看分支:
$ git branch   创建分支
$ git checkout   切换分支:
$ git checkout -b   创建+切换分支:
$ git merge   合并某分支到当前分支:
$ git branch -d   删除分支:
$ git log --graph  可以看到分支合并图

7:Bug分支

$ git stash  当前工作现场“储藏”起来,等以后恢复现场后继续工作

$ git stash pop,回到工作现场

8:Feature分支

git branch -D   丢弃一个没有被合并过的分支,强行删除

9:多人合作

$ git remote  查看远程库的信息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值