git 使用心得

1.Git 是目前世界上最先进的分布式版本控制系统

2.与SVN区别是,集中式,版本放在中央库

3.windows安装git

    msysgit是windows版本的git

4.git是分布式版本控制系统,所以需要填写用户名和邮箱名作为日标记

    git config --global user.name ""
    git config --global user.email""
    配置全局的git

5.操作

创建版本库
选好文件夹作为git本地仓库
     git init  创建本地仓库
     git add file.txt   提交到缓存
    git cmmit -m '注释'   提交到当前分支上
      git status 查看当前仓库状态
      git diff file.txt  查看修改的内容
      git log 查看历史修改记录
      git log --pretty=oneline  单行显示
git reset --hard HEAD^  回退到上一个版本
git reset --hard HEAD^ 回退到上上个版本
git reset --hard HEAD~100 到上100个版本    cat file.txt 查看文件内容
git reset ---hard 版本号
如果关掉命令行找不到版本号
git reflog

6.工作区与暂存区的区别

工作区就是电脑上的目录
版本库 .git 其中有stage暂存区,自动创建的分支master,指向master的指针

git checkout  -- file
丢弃工作区的修改
添加到暂存区的内容不被撤销
删除文件
rm file
不想删除
git checkout -- file (恢复)
git commit - m "" 提交删除(彻底删除)

7.远程仓库

SSH加密
创建SSH Key 用户主目录下 .ssh 目录 (id_rsa私匙和id_rsa.pub公匙)

ssh-keygen  -t rsa --C ‘’email"

在github Add SSH Key里粘贴id_rsa.pub 文件的内容

7.1关联远成仓库

1.github上创建一个新的仓库,全部默认,作为空仓库

git remote add origin ....git
git push -u origin master
-u命令,不但会把本地的master分支内容推送到远程新的master,还会把本地的master分支和远程的master分支关联起来,以后推送或拉取时可以简化命令

2.github上创建的仓库含有reademe.md文件的

需要将远程分支上的内容clone下来
git clone remotebranch
7.2创建与合并分支

git每次提交都会把他们串成一条时间线,这条线就是一个分支,Git里叫主分支,master,HEAD指向master,master指向提交,HEAD只想的就是当前分支

git checkout -b ng  创建并切换分支
=git branch ng(创建分支) +git checkout ng(切换分支)  
在ng分支上做完修改在master分支上不可见
git merge ng 
将ng上修改的内容合并到主分支master上
删除分支
git branch -d ng

冲突问题
在不同分支上修改同一个文件会产生冲突
<<<HEAD指主分支  
 =======  
>>>ng 分支

手动解决冲突,master上commit然后删除分支


fast forward 新建一个分支做修改后,切换回主分支master,master未作修
改时进行合并就叫fast forward
当直接merge时 ,删除分之后没有分支信息

git merge --no-ff -m "注释,分之合并信息" 分支      加入分支信息

临时插入的工作,修复bug

分支上的工作没有完成时

临时停下当时分支上的工作,无法提交的时候(貌似用处不大)

git stash  当前分支就是干净的了
原理是将当前工作区的内容保存到栈里

切换到master 建立分支修复bug

修复完后需要切换回分支继续工作
git stash list 显示Git栈内的所有备份,可引用这个列表来决定从哪个地方恢复
git stash apply (恢复到最近一次保存,不删除站内的内容)
git stash apply stash@{0}(恢复到某次保存)
git stash pop 从栈中读取最近一次保存的内容,恢复工作区的相关内容(并删除栈中本次记录)
git stash clear 清空git 栈
git stash drop 删除一条

多人协作

当从远程库克隆时,Git自动把本地的master分支和远程的master分支对应起来,并且远程库的默认名称是origin

git remote 查看远程分支信息(当前提交的分支)
git remote -v 查看远程仓库详细信息
git push origin dev:dev  (本地分支,远程分支)
如果当前在dev分支下可以直接 
git push
删除远程分支
git push origin :dev
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 14,339评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,654评论 9 163
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 9,382评论 3 27
  • 现在的大多数APP都带有缓存功能,尤其是使用一些第三方框架,比如SDWebImage 就自带缓存功能。当用了一段时...
    MRNAN_阅读 2,801评论 0 1
  • 我向你祈求知识 在人面前却显示出愚拙; 我向你祈求爱情 却一次次被人拒绝; 我向你祈求专心 心里塞满世俗杂念; 久...
    路得燕子阅读 1,196评论 0 0