Git简记

初始化用户名与版本库

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git init 初始化仓库

添加到暂存区与提交到版本库

git add [file1 file2]
git commit [file1 file2] -m "这次提交相关的说明"
“git commit 后面不接文件名则表示全部提交 -m参数用于快速书写提交说明”
使用git status来查看提交的状态

查看历史提交记录

git log 用于查看详细的日志记录
git log --pretty=oneline 用一行显示日志记录
git reflog 可以查看当前HEAD指针在什么位置

文件的回退与前进

git文件的前进与后退主要是通过追踪“修改”来完成的
git reset --hard HEAD^ 回到上一次提交的状态 HEAD^^回到上上次的状态HEAD~100回到前100次
git reset --hard 对应的修改id 可以快速回退和前进,id可以不写全写5位就够用了 配合git reflog来使用

比较修改文件与原文件的不同

git diff 比较没有add之前文件较修改之前的变化
git diff --staged
git diff --cached 比较已近提交暂存区(add之后)与已经存在分支中的文件的不同,也就是即将commit会发生修改的内容

撤销操作

git restore 撤销在工作区的修改
git reset HEAD [file] 让暂存区的文件回到工作区(撤销add操作)

Git公匙设置

在开始使用github时需要先设置自己的公匙,不然可能造成push或者clone失败
先在GitBash中输入 ssh-keygen -t rsa -C "你的邮箱地址" 会在我的文档目录中找到.ssh文件夹id-rsa是私匙(不能告诉别人),还有一个是
id_rsa.pub这个需要传到GitHub的设置里,登录你的github账号点,在设置中找到SSH adn GPG keys进入,复制id_rsa.pub中的内容并进行保存。这样就完成了

用本地库与远程仓库进行关联

1.先在GitHub上创建一个repo
2.使用命令git remote add origin 你仓库对应的链接
3.使用git push -u origin master把你的仓库推送到github上

从远程库克隆

使用clone命令加上对应的仓库链接就可以进行克隆了
ps 尽量使用.git的链接,他比https的链接下载更加的快

分支

个人理解:分支就是不同的人做不同的事,最后进行合并起来
master:最稳定的分支,一般是线上运行的版本
dev:开发分支
feature:分支开发新功能的时候的分支
bugfix:修复bug的分支
hotfix:紧急修复线上bug的分支

Git是采用切换指针的方式来切换分支,基本不包含文件的移动与复制所以切换的时候速度极快

分支相关命令

创建名字为name的分支 git branch name
创建名字为name的分支并切换到该分支git switch -c name 或者git checkout -b name
查看分支git branch
合并分支git merge name 合并分支是让名字为name的分支向你当前的分支进行合并
删除分支 git branch -d name
查看分支合并图git log --graph
删除未合并的分支git branch -D name

分支的冲突的产生与解决

在不同分支上编辑同一文件的同一处内容,进行合并时就有可能产生冲突。

冲突解决办法

先编辑冲突文件,把多余字段删除,然后与提交产生文件的同事进行协商,共同解决冲突。

修复Bug的分支

当程序突然出现了bug,你需要紧急修复,但你手上的代码还没有写完可以采用git stash来将你未完成的工作进行保存
之后你就可以创建修复bug的分支git switch -c bugfix 等你修复了这个bug之后,将他合并到master分支上。
之后通过git stash list命令查看你保存的工作区,然后用git stash apply回复你之前的工作区,但是git并不删除你原来的stash。
你可以通过git stash pop该命令即恢复了你的工作区,然后删除了stash。

你虽然修复了master分支上的bug但你的dev分支上依然存在着这个bug,所以你可以通过git cherry-pick <bugfix的提交id>来将dev和bugfix合并。

远程协作

查看远程仓库git remote -v
推送分支到远程库 git push origin <分支名>
master分支和dev分支是需要时刻保持与远程库同步的

分支的抓取

使用clone命令一般只能在本地看到master分支,使用git branch查看当前所在的分支,如果你要在dev上进行开发就需要在本地创建dev的本地仓库git checkout -b dev origin/dev,这样你就可以在dev分支上进行修改并且通过git push origin dev命令来推送到远程仓库。

但是如果别人已经推送了有关dev的更新,你再推送便会产生冲突导致推送失败,这时候你要使用git pull origin dev命令将远程仓库的内容抓下来在本地进行合并解决冲突,之后再次推送即可

ps:当你pull时你可能会失败,那是因为你没有制定本地dev与远程dev的链接可以通过git branch --set-upstream-to=origin/dev dev这样来进行指定
最后感谢廖雪峰老师的课程,简单易懂,这是我的自我总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值