git
1、git 的安装与配置。
首先,对git进行下载。然后,在本地安装后进行版本查看,win10系统通过win+r快捷键打开控制台,然后用git --version的cmd命令查看git版本。
然后对git进行配置。配置的英语是config。因此,在cmd里面进行语句。
git config --global user.name "qingshanyici"
git config --global user.email qingshanyici@163.com
通过git config -l查看目录。
这个地方注意一下,有时候本地推送代码到了git仓库上,却发现仓库的小格子并没有变成绿色,这是因为 本地git配置的信息 与 远程git仓库配置的信息 不一致。
输入指令【git config user.name】,展示的是本地配置的用户名信息。
输入指令【git config user.email】,展示的是本地配置的邮箱信息。
设本地配置的用户名信息和邮箱信息分别是 “张三” 和 “zhangsan@163.com”,push代码的时候却发现小方格并没有变成绿色,这时候就去码云->设置->邮箱管理,添加“zhangsan@163.com”这个邮箱,再上传就会发现方格变成绿色了。
2、git的使用
有两种方式,本地的上传,网络上的下载下来使用。
git init new_demo 会创建一个新的git仓库。
cd new_demo会进入这个目录。
ls-la 查看仓库的目录,windows系统用dir/a。
cd..在cmd里面可以返回上一级。
ctrl+l可以让cmd清屏。windows系统用不了,可以通过输入cls进行清屏。
git clone+某个文件的仓库地址,可以进网络上的下载下来。bitBucket克隆代码的时候,不能直接克隆网页地址。克隆下来的git地址,网址末尾是.git。
3.commit有犯错,承诺的意思,在git里就是后悔药!
git status查看有没有保存后悔药啊。
git add . 将所有文件加入暂存区,小心后面那个点。只是暂存哦,不是造好了后悔药。
【git add 文件名称】:只把该文件存入暂存区。
git commit -m "这才是建好了后悔药!m是描述的意思哦。"
git commit -m "用来描述你存的这个后悔药!"
git log 查看版本记录,看看保存了多少个后悔药。按q就能退出来了。
j和k在命令行里分别表示前进和后退,q是退出。
git checkout 身份证前7位,可以查看历史节点上的后悔药。
4.git的三种状态
【git checkout -】:表示返回git的上一版本。
后悔药的制造流程遵循这三步:修改-->add-->commit。不要小瞧修改,之前总是犯错就是因为没有修改就想对git操作,用【git status】命令已查看,显示“nothing to commit, working tree clean”,所以,修改后才能开始造后悔药啊!
modified,表示文档已经被修改。
staged,表示文档已暂存。
commited,表示文档已提交。
【git log -p】:查看修改的详细信息。p是patch的意思。
【git log --oneline】:版本信息太长的时候,该指令让信息一行显示。
【git log --oneline --all】:所有版本信息都显示。
5.git的标签
标签是用来对重要的节点来进行记录的,比如小说已经完成,那么这个地方打一个标签【一稿】,后来对小说又进行删改、校验之类的操作,这里就可以再打一个标签【二稿】。标签就是这么用的。
【git add -a 标签名 -m “相关信息描述”】:a是annotated(有注释的)。
【git tag】:显示已有的标签。
【git tag -a 标签名 -m'相关信息描述' 身份证号】:在历史节点上打标签。
【git show 标签名】:查看该标签的详细信息。谁添加的tag,添加的时间。
【git checkout 标签名】:回到这一版。
6.git的分支
【git branch 分支名】:创建新的分支。
【git checkout 分支名】:切换到这个分支上。
【git checkout -b 分支名】:创建并切换到该分支上。
【git log --all】:会显示head在谁上,head-->master,或是head-->分支名。
【git checkout master】:再返回到原来的主支线上。
【git log --all --graph】:用图形的方式显示出支线的关系。
【git branch -D 分支名】:删除某个分支,注意要切换到其它分支上才能删除分支。而且记得要merge掉这个分支之后,再删除这个分支哦。
注意:github并不会给个人仓库提供创建分支的方法,想要创建分支,只能在本地上创建。bitbucket提供创建分支的方法。创建个人分支选择feature+个人分支名,hotbranch一般用于紧急修复bug类创建的。
7.branch的合并
【git checkout -b 分支名】:创建并切换到该分支。
【git checkout master】:返回到主分支上。
【git merge 分支名】:合并分支。
8.git的远程操控
【git remote add 远程仓库名称 远程仓库网络地址】:创建你要上传的远程仓库的地址。
报错1:在使用这个命令的时候,遇到了not a git repository (or any of the parent directories)这样的错误,解决方法就是先用命令【git init】对git先初始化一下。
【git remote】,查看所有的远程仓库。
【git remote -v】,查看远程仓库的地址和用户名,fetch是下载地址,push是上传地址。
【git push -u】 远程仓库名称 分支名,将代码推上去,推代码的时候要加上-u,否则往下拖代码的时候会有麻烦。master是默认的分支名称。
【git clone 远程仓库网络地址】:克隆网上的代码(在你的目录完全为空的情况下)。origin是默认的远程仓库名称。
【git remote set-url origin <newurl>】,有时候代码迁移了,需要修改远程仓库的url位置,这时候通过该命令修改远程仓库位置。
报错2:但是这里有个要注意的点,如果你首先在网络上创建了一个仓库,然后又在本地创建了一个仓库,那么这两个仓库是独立的,拉代码和传代码的时候往往会出错,比如这样的报错:
-refusing to merge unrelated histories
为了解决两个独立仓库的问题,需要使用【git pull 远程仓库名 master --allow-unrelated-historie】命令,首先把代码pull下来并且进行合并,然后再做其他操作。
报错3:
error: failed to push some refs to 'https://git.dev.tencent.com/wxt1/56laile_comeget.git'
是因为本地缺少readme文件。
解决方法:首先输入git pull --rebase origin master命令。然后输入git push -u origin master即可完成代码上传。
原博客地址:https://www.cnblogs.com/yiduobaozhiblog1/p/9125465.html
报错4:
unable to updataurl base from redirection.
出现这种错误,是远程仓库的地址设置错误。我设置错误的原因是clone地址的时候,克隆成了网页的地址。要找到git克隆的网站的按钮,复制该路径克隆下来。克隆下来的路径末尾最后是.git。
9.选择远程仓库上的一个分支拉到本地
本地没有仓库,却只是想拉下远程仓库的一根分支(不一定是master),参考这篇博客:
https://blog.csdn.net/carfge/article/details/79691360
假设要拉的远程分支名为laiquDev,具体步骤:
【git init】:初始化本地git
【git remote add origin 远程仓库地址】:添加远程仓库地址
【git fetch origin laiquDev】:将远程分支拉到本地,origin是远程仓库的默认名字,laiquDev是分支的名字。一天
【git checkout -b laiquDev origin/laiquDev】: 本地新建liaquDev分支,并切换到该分支上。
到这里就可以结束了,可以看到本地已经有了laiquDev这个分支和代码。也可以用【git pull origin laiquDev】再将代码拉一遍,确保同步。
在本地的【official-wx_wxtcopy】分支上,在使用下拉命令【git pull origin official-wx_wxtcopy】拉取分支的时候,报错:fatal: couldn't find remote ref official-wx_wxtcopy
这种情况,是说远程仓库里并不存在official-wx_wxtcopy这个分支。
这时候,使用【git branch -r】命令,查看一下远程仓库中分支名叫什么,比如这个分支名实际叫做【feature/official-wx_wxtcopy】分支, 这时候,再用【git pull origin feaure/official-wx_wxtcopy】命令拉取分支就可以了。
10.删除仓库
在github上,找到setting选项,可以选择删除仓库。
11、选择远程仓库上的某一个分支拉到本地
如果本地拥有仓库,并且在a分支上。远程仓库里有a、official-handleAuth两根分支,想要把b拉到本地,有以下两步:
【 git fetch origin official-handleAuth】:这一步是将远程仓库的分支official-handleAuth拉到本地。
【git checkout -b official-handleAuth origin/official-handleAuth】:将official-handleAuth分支的内容拉到本地。
12.git stash存在的意义
在开发过程中,希望回溯到某个之前的版本,但是本地刚刚修改了某些代码,而且还没有修改完,所以并不想要提交现在的代码。因此,git stash就有用了。
- 使用git的时候,我们往往使用分支(branch)解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码
commit
提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来。这样的话往往log上会有大量不必要的记录。其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急Bug,那么使用git stash
就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修Bug,等到修完Bug,提交到服务器上后,再使用git stash apply
将以前一半的工作应用回来。
【git stash list】: 查看暂存分支
【git stash save ‘saveMsg’】: 保存暂存信息
【git stash show】: 查看做了什么改动,只显示哪些文件呢做了修改。
【git stash pop stash@{$num} 】: 应用并删除第num个暂存信息。比如应用并删除第二个:git stash pop stash@{1},因为是从0开始的