git 学习笔记

一  基本操作

1初始化本地仓库

进入本地仓库文件夹  git init 初始化

2 提交任务的分两步

1) git add  "修改后的文件“   将工作区修改的文件,提交到暂存区,如果是多个修改都要提交 可以用 git  add  -A 

2)git commit  -m  “本次修改的说明” 

3 查看当前状态  git  status 

4 查看提交历史记录 git log  ,查看简介的历史提交记录 可以加

--pretty=oneline
参数,git log --pretty = oneline 

5 查看文件修改的内容  git diff  “文件名称”

6 版本回退使用 git reset 命令

每一次commit 就是一个版本,可以用git log 查看提交的版本,HEAD 表示当前的版本,HEAD^ 表示上一个版本,HEAD^^ 表示上上一个版本,如果是前100百次版本,则用HEAD~100

git reset --hard HEAD^  回退到前一个版本,此时如果使用 git log 来查看版本信息,最新的版本也是回退之后的版本,之前版本消失

7 如果回退版本之后,发现回退错误,又想回到以前的版本,如果你的命令窗口还没有关掉,找到回退之前的commit id ,使用git  reset --hard “commit id”   //commit id  只要填写前几位就可以,不用全部写全。 

假如此事发生在第二天,你早已经关掉git 命令窗口,则可以用git reflog来查看你每一次提交的命令,则又可以查到commit id了,这样就好办了。

8 git  diff  HEAD -- 文件名称  可以查看 工作区和版本库里面最新版本的区别

9 git checkout -- fileName  可以丢掉工作区的修改,分两种情况:

1) 如果fileName 文件还没有提交到暂存区,是用该命令就可以将回退到和版本库一模一样的状态

2)如果fileName 文件已经加入到暂存区,撤销修改就回到添加到暂存区后的状态

脚下留心:该命令中 -- 比不可少 如果缺少-- 就变成了切换分支的命令了。

10 如果你已经将文件添加到暂存区中了,又想撤回,则使用 git reset -- HEAD fileName 可以把暂存区的修改撤销掉。git reset -- 命令即可以实现版本回退,还可以将撤销暂存求的修改。在使用 git checkout -- fileName 则可以撤销工作区的修改

11 删除文件,例如我们在添加了一个文件 git add test.txt git commit -m "addNewFile" 你在文件管理器中使用 rm test.txt 删除了该文件,现在插查看版本信息工作区和版本库里面就不一致了。

1)如果确实要从版本库里面删除该文件:git rm text.txt git commit -m "del File" 该文件从版本库中删除

2)如果不想删除该文件:因为版本库里面还有改文件 可以使用 git checkout -- test.txt 恢复该文件,git checkout 实质是使用版本库中的版本替换工作区中的内容

二  分支管理

1 创建分支dev分支: git branch dev

2 切换分支: git  checkout  dev 

git  checkout -b dev  相当于上面两条命令的合并,创建dev 分支,将切换到该分支上面。

3 查看所有branch  : git  branch  会列所欲分支,并且会在当前分支前面加上一个*号

在 dev 分支上面 添加一个readme.txt  文件  ,git  branch master 切换到master分支的时候,并不会看到readme.txt 文件,因为该文件是在dev分支上面,接下来要实现合并了:git  merge dev  把dev分支上面的内容合并到当前分支上面去。

4 删除dev 分支 :git branch -d dev

5 删除远程分支dev_grl: git push origin  :dev_grl。

6 查看远程分支:git branch -r

7 创建远程分支dev_grl,并和本地分支dev_grl 相关联:git push -u origin dev_grl:dev_grl


三    解决冲突

1 创建分支feature : git branch -b  feature

2 修改 readme.txt  文件如下:

Creating a new branch is quick AND simple.

git add readme.txt git commit -m "mod readme"

3 切换到master分支:git branch master 会提示当前分支master分支超前一步

在master分支上,修改readme.txt 文件如下:

Creating a new branch is quick & simple.
git add readme.txt git commit -m "mod readmeOfmadter"

4 合并分支:git merge feature 这时会出现冲突,将文件修改为一致后才可以再次合并

5 查看分支合并情况:

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

6 如果分支上的内容还没有合并,就要删除的话,则要强制删除git branch -D dev :强制删除没有合并的dev分支,

四 BUG 分支

当你接到一个BUG101时,很自然的想到要建立一个ission101 分支来解决,但是正在dev分支上工作还没有提交,但是该BUG必须在两个小时内完成,此时可以使用stash功能,可以把当前现场保存起来,等解决BUG后再来解决。

1)git stash 把现场保存

2)git stash list

3)恢复工作现场有两种方法:

git stash apply 恢复后stash内容并不删除,还需要删除stash 内容:git stash drop

git stash pop 恢复现场内容并删除stash 内容。

脚下留心:可以多次使用stash ,恢复的时候可以使用git stash list 来查看,然后恢复指定的stash

例如:git stash pop stash@{0}














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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值