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开始的

 

posted @ 2018-12-07 20:20  qingshanyici  阅读(258)  评论(0编辑  收藏  举报