Git笔记(廖雪峰老师课程)


git笔记
git的安装 sudo apt-get install git-core
全局配置
git config --global user.name "Your Name
git config --global user.email "email@example.com"


版本库 repository
git init 初始化 出现 .git目录
git add xx
git commit -m "xiugai "


git status 多用此命令来来了解当前状态
git diff reade.txt 比较文件的变化
git log 查看日志,历史记录
git log --pretty=oneline  格式输出
回退一部  git reset --hard HEAD^


git reflog
git reset --hard ID  //通过查看ID,倒退
git diff HEAD -- readme.txt 可以查看工作区和版本库里面最新版本的区别


git checkout -- readme.txt 可以丢弃工作区的修改




git reset HEAD readme.txt   git  checkout --readme.txt 可以把暂存区的修改撤销掉,放回工作区,然后在工作区删除
删除 
工作区删除 rm readme.txt
版本库删除 git rm readme.txt
若工作区删除错误 可以使用 git checkout -- readme.txt 恢复工作区


远程版本库连接
ssh-keygen -t rsa -C "youremail@example.com" 生成 .ssh目录,把id_rsa.pub打开复制到github账户设置下的 SSH Key


git remote add origin git@github.com:yuchuan512/learngit.git
关联远程库,因为SSH Key公钥在账户列表中,可以推送上去
git push -u origin master 把本地库的所有内容给推送到远程库上
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。


下次只需要 git push origin master


git clone git@github.com:michaelliao/gitskills.git


分支管理
git checkout -b dev 创建dev分支,并切换到dev。此语句相当于 git branch dev   git checkout dev 


git branch 查看当前全部分支,*号代表当前工作分支


git checkout master 切换到master分支
git merge dev   把dev分支工作合并到master分支上,直接把master指向dev的当前提交
git branch -d dev 删除dev分支




Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存


用带参数的git log也可以看到分支的合并情况:
git log --graph --pretty=oneline --abbrev-commit


bug分支
git checkout dev ....操作.....   git stash 将当前git状态入栈保存,此时查看git status干净的
git checkout master  ....操作.... 
开辟bug分支  git checkout -b bug-fix   git add xx   git commit -m "xx is fixed" git branch -d bug-fix


git stash list 查看栈中工作空间 
1) git stash apply ,但是stash内容不删除,需要用git stash drop 来删除
2) git stash pop 恢复工作空间的同时也会清理stash内容


也可以多次stash,恢复的时候先用git stash list查看,要恢复指定的stash
git stash apply stash@{0}  git stash drop 


feature-vulcan分支还没有被合并,如果删除,将丢失掉修改
如果要强行删除,需要使用命令git branch -D feature-vulcan


当从远程库克隆时,git自动把本地的master分支和远程的master分支对应起来,远程库的默认名称是origin
查看远程库信息 : git remote  或者git remote -v 显示更详细的信息


git push origin master 也可以推送其他分支,如 git push origin dev 

与远程分支默认绑定,push与pull的时候不需要指定分支 
git branch –set-upstream-to=origin/dev

如果不指定绑定的话,push与pull的时候需要 
git push origin dev 
git pull origin dev



在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码


Git配置
git config --global color.ui true
.gitignore文件 参考组合 https://github.com/github/gitignore
忽略某些文件时,需要编写.gitignore
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!


忽略文件的原则是:
忽略操作系统自动生成的文件,比如缩略图等;
忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。


别名   别名就在[alias]后面,要删除别名,直接把对应的行删掉即可
git config --global alias.st status  ==》 用st代替status 


git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"


Git Cheat Sheet  git参考
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值