git学习笔记

 


git   查看系统是否安装Git
git init   把当前目录变成Git可以管理的目录
git add file   把(新增,修改)文件添加到版本库      把要提交的所有文件都放在暂存区(Stage),
git commit -m "msg" 一次性把暂存区的所有文件提交到分支上
git status   显示当前仓库状态
git diff   查看文件差异
git log   
git log --pretty=oneline   




git reset --hard HEAD^     回滚到上一个版本
HEAD      指针指向当前版本    HEAD~5    往上5个版本
 
git reset --hard commitID  回到后面的版本


git checkout -- file      撤销文件的修改(包括删除)              本质上是用版本库中的文件替换工作区中的文件
1) 修改的文件未add到暂存区,文件恢复成修改前
2) 修改的在修改之前文件已经放在暂存区中,撤销修改就回到文件添加进暂存区时的状态


git reset HEAD file       把 add 到暂存区的文件unstage , 现在工作区的文件是修改的


rm file             删除工作区的文件
git rm file 删除版本库中的文件






origin  git默认远程库的名字  可变
git remote add origin https://github.com/shiyingdong/learngit.git        -- 把本地仓库和远程仓库关联
git remote add origin git@github.com:shiyingdong/learngit.git


-u  在第一次推送master分支时,git不但是把分支master推送到远程仓库新的master分支,还会把本地master和远程master关联起来
git push -u origin master      -- 把本地仓库内容推送到远程仓库


git remote  查看远程库的信息
git remote -v   详细信息


git clone https://github.com/shiyingdong/gitclone.git
git clone git@github.com:shiyingdong/gitclone.git      //  ssh协议


git 本地分支合并,指针指向提交点






git checkout -b dev        创建和切换到dev分支        
git branch dev
git checkout dev

git branch       列出所有分支,当前分支前面会加上一个*


git checkout master        切换到master分支


git merge dev              把dev的成果合并到master


git branch -d dev          删除dev分支


git branch -D feature      强行删除分支






git冲突本质上是 一条线上产生了多个分支,解决冲突就是把冲突内容修改成相同的内容,
git log --graph --pretty=oneline --abbrev-commit    查看分支合并情况
提交远程库冲突, git pull  把最新的提交抓取下来,本地解决冲突在推送



通常,合并分支时,默认使用 Fast forward 模式,在删除分支后,会丢掉部分分支信息。强制禁用 Fast forward 后,
git 会在merge时生成一个新的 commit 。


git merge --no-ff -m "msg" dev




git stash              把当前工作收藏起来,包括工作区的修改和暂存区的数据
git apply    +    git drop
或者     
git pop




git branch --set-upstream dev origin/dev        设置本地 dev 和远程 origin/dev 的链接




工作区(Working Directory)     电脑上能看到的目录
版本库(Repository)            .git文件夹   
stage(index) 暂存区

把文件添加到Git版本库,是分两步执行的
① add 把文件添加到stage
② 把stage 的所有内容提交到当前分支

git如何跟踪修改:
每次修改,如果不add到暂存区(不论是否是同一文件),就不会加入到commit中




标签管理
git的标签就是版本库的快照,其实就是指向某个commit的指针。创建和删除标签是很快的

git checkout master
git tag                     查看标签     标签按照字母排序
git tag v1.0                打标签
git tag v1.1 commitID       给指定提交打标签
git show tagname            查看标签信息
git tag -a v1.2 -m "msg" [commitid]    

删除本地标签
git tag -d tagname
    推送某个标签到远程库
git push origin tagname
一次性推送全部尚未推送到远程库的标签
git push origin --tags
删除远程库标签
git tag -d tagname       git push origin :refs/tags/tagname

忽略提交某些文件
在git的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名或者包名写在里面


配置别名
git config --global alias.st status 
git status ------ git st

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值