git简单总结

  git 是当下最流行最前卫的版本管理系统,这里列出最简单的用法,但是也囊括了最常用的语句。帮助你再最快的时间内能够操作git但是想要知道里面的原理,还是需要阅读相关书籍

常用命令汇总

推荐使用git@github.com:name/your_repo。使用https方式有两个缺点,一个是慢,另一个是每次都要输入密码

git add file.txt提交到缓冲区

git commit -m "message" 提交版本

git status 查看状态

git diff查看修改

git log查看日志,也就是历史版本

git log --pretty=oneline每个历史版本只显示一行

git reset --hard HEAD^回退到上一版本,HEAD^^会推到上2个版本,HEAD~100回退到上100版本

git reset --hard 888888(版本号)返回到版本号888888的未来版本

git reflog在回退版本之后若不能查看未来版本号,用这句话查看过去日志

git checkout -- file.txt撤销修改,返回到最后依次commit或者add状态

git rm file.txt删除文件,删除后需要commit

git remote add origin https://github.com/yourname/your_repo.git新建一个远程仓库

git push -u origin master推送到远程仓库

git clone https://github.com/....克隆一个远程仓库到本地

------------------------------------------------------------------------------------------------------------------------------------------

工作区和缓存区以及撤销修改

工作区:电脑能看到的目录

版本库:工作区中的.git文件就是版本库

暂存区:通过git add把文件放入的区域叫暂存区。最后通过git commit 统一提交

git checkout -- file.txt撤销修改,返回到最后依次commit或者add状态

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

git rm file.txt删除文件,删除后需要commit

----------------------------------------------------------------------------

远程仓库管理

首先注册github账户,然后在本机上生成RSA密码:

 ssh-keygen -t rsa -C "your\_email@example.com"

然后在github设置里面的ssh添加公钥。直接复制~/.ssh/id_....pub到文件就可以了

然后新建一个远程仓库,全部使用默认项目。在本地要上传的仓库中:

git remote add origin https://github.com/yourname/yourrepo.git
git push -u origin master

然后你就成功了,已经同步了。每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;


从远程到克隆到本地仓库

在远程新建一个仓库,我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件。然后在本地使用 

git clone https://github.com/name/gitskills.git

---------------------------------------------------------------------------------------------------------------------------------------

分支管理

git checkout -b dev 创建分支。等同于以下两句话
git branch dev
git checkout dev这个时候就可以在dev分支上正常提交了
git branch查看当前分支,带*的是当前分支
git checkout master 切换回主分支
git merge dev把dev合并到主分支
git branch -d dev把分支删除

解决冲突

当两个分支的提交发生冲突的时候,比如两个分支中相同的文件有不同的内容,就需要手动解决冲突然后再次提交(git status会给出详细提示)

同时,使用如下语句也能看到分支合并的情况:

git log --graph --pretty=oneline --abbrev-commit
合并时使用如下语句能再以后看出该分支是合并过的,默认是看不到的:

git merge --no-ff -m "merge with no-ff" dev
当正在编辑一个分支,并且已经add但没提交,这个时候如果要切换到另一个分支中,需要保留现场,然后再切换出去:

git stash
git checkout master

当完成另一个分支之后,再切换回到这个分支:git checkout dev

这个时候,使用如下语句查看保留现场的内容:

git stash list
利用如下语句,提取保护的现场,并删除保护过程:

git stash pop
另一种方法git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除。

注:推送分支的时候,默认使用的是git push -u origin master推送到主分支上,但是也可以使用git push -u origin dev推送到其他分支上

再github上感兴趣的项目一定要先fork到自己的git上,再clone下来,这样才有修改的权限

---------------------------------------------------------------------------------------

标签管理

发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

直接使用如下语句就可以给当前分支打上1.0标签

git tag v1.0
git tag 查看标签
git tag v1.0 id_of_the_repo 如果再历史记录中忘了打标签,可以先从log中查看历史,然后对相应的id打标签
git show v1.0查看标签的详情
如果标签打错了,也是可以删除的:
git tag -d v0.1
完成后,可以将标签推送到远程:
git push origin v1.0
git push origin --tags一次性将所有更改的标签推送到远程
删除一个远程标签,首先要先删除本地的,然后再使用如下语句删除远程:
git push origin :refs/tags/tagname






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值