git常用的基础指令

目录

1. 安装git

2. git安装后-指定名称和邮箱

3.设置公钥,添加到远程仓库的ssh中

4.基础指令

5.git本地的四个工作区域

6.创建仓库

7.版本控制

8.add添加到“暂存区”、commit提交到“本地仓库”、push推送到远程仓库

9.创建远程仓库 

10.分支

11.团队协作(多人开发)

12.跨团队协作


前言

学习git前 先明白一个概念 版本控制

版本控控制是在开发过程中,对我们文件的管理的修改历史,备份便于恢复以前的版本工程技术
1实现对人协同开发
2跟踪文件的历史纪录
3组织和保护你的源代码和文件

版本控制工具:git、svn、cvs、vss...

版本控制:本地版本控制、集中版本控制、 分布版本控制
集中版本控制:将所有的东西 放在集群上(中央处理器上)(需要联网)有很大风险服务器损坏,丢失所有数据;  代表产品:vss、svn、cvs;
分布式版本控制: 没有中央处理器,每个人的电脑就是完整的版本库(不需要联网)    代表产品:git;



 

1. 安装git

http://npm.taobao.org/mirrors/git-for-windows/

2. git安装后-指定名称和邮箱

提交仓库需要这些信息,才知道是谁提交的

$ git config --global user.name "Your Name"
 
$ git config --global user.email "email@example.com"

3.设置公钥,添加到远程仓库的ssh中

运行下列代码,将生成公钥添加到远程仓库,就能将文件推送到远程仓库

ssh-keygen -t rsa -C 'your-email'  

比如:在往github上push项目的时候,如果走https的方式,每次都需要输入账号密码,非常麻烦。而采用ssh的方式,就不再需要输入,只需要在github自己账号下配置一个ssh key即可!详细操作看这篇文章 

4.基础指令

1. cd:  改变目录(打开目录)
2. cd.. :返回上级目录
3. pwd: 显示当前所在的目录路径
4. ls: 列出当前目录中所有文件
5. touch: 新建文件  如: touch index.js
6. rm: 删除文件
7. mkdir: 新建文件夹
8. rm -r: 删除文件夹
9. mv: 移动文件
10. reset:  重新初始化终端、清屏
11. clear: 清屏
12. history: 查看命令历史
13. help: 帮助
14. exit: 退出
15. #: 注释 

5.git本地的四个工作区域

 6.创建仓库

本地创建:

  1. git init // 初始化 在工作路径上创建主分支

 克隆仓库:

  1. git clone 地址 // 克隆远程仓库

  2. git clone -b 分支名 地址 // 克隆分支的代码到本地

克隆仓库会自动完成三件事 :拉取代码、初始化本地仓库、创建远程创库别名(默认origin)

7.版本控制

$ git log    //查看提交历史记录,更详细的信息
$ git log --pretty=oneline    //加参,简洁查看
$ git reflog    //查看每一次修改历史
$ cat test.txt    //查看文件内容
$ git status    //查看工作区中文件当前状态
$ git reset --hard HEAD^(HEAD~100)(commit id)    //回退版本
$ git checkout -- test.txt    //丢弃工作区的修改,即撤销修改
$ git reset HEAD test.txt    //丢弃暂存区的修改(若已提交,则回退)

//修改文件名         将修改的文件名 放入暂存区

$ git mv (文件名) (重命名)

每次修改文件后,通过git status可以检测到哪个文件修改了,显示每个文件的状态 。

作用:当写好代码可以进行添加、提交。如果发现提交的代码有bug时,可通过版本id,将代码回溯。

8.add添加到“暂存区”、commit提交到“本地仓库”、push推送到远程仓库

$ git add test.txt                                                //将修改的test添加到暂存区

$ git add .                                                         //将所有修改文件添加到暂存区
$ git commit -m "first add text.txt"  text.txt        //将text.txt提交到本地仓库
$ git commit -m "add 3 files."                            //将所有文件提交到本地仓库

9.创建远程仓库 

可以将代码提交到自己仓库,或者将仓库代码拉取到本地(无需权限

后面讲到团队协作(多人开发,项目不在自己仓库),当push推送代码,pull拉取代码都需要权限(需要邀请),原因很简单,毕竟是在别人的仓库项目开发

$ git remote add (origin别名)  http://gitee.com/....(克隆/下载路径)   

//给关联的远程库取名为origin

$ git remote    //查看远程库的信息
$ git remote -v    //查看远程库的详细信息 

$ git remote rm origin    //删除远程仓库(解绑)

说明: 两个origin 表示可以拉取fetch/推送push

$ git push (origin 远程库别名)(master分支)    //将本地内容推送到远程仓库(之后)
$ git clone (远程库地址)                                      //克隆远程仓库

$ git pull orgin master                                             //拉取远程仓库

push时,会弹出 验证登录远程库:

如果成功登录,但还是报错: hint: Updates were rejected because the remote contains work that you do hint: not have,原因我放在最后讲

 成功:(并且在远程仓库也能看到对应文件的变化)

 10.分支

git branch 分支名                    //创建分支

git branch -v                            //查看分支

git checkout 分支名                //切换分支

git merge 分支名                    //将指定分支合并到当前分支

产生分支冲突:

当合并分支时,两个分支再同一文件的同一位置有两套不同的修改,git无法决定使用哪套代码,就需要认为决定 代码选择。例如下失败合并:

 报错说明:合并冲突在hello.txt; 自动合并失败;(站在master上,合并list)

解决办法:找到hello.txt文件,手动修改需要保留的部分,然后将冲突文件重新add,commit到本地仓库(这样主分支master上的文件就没问题了),在到list分支上对master进行git pull抓取hello.txt分支文件(master,list分支实现同步)

11.团队协作(多人开发)

成员需要接收项目仓库拥有者的邀请,才有权限pull拉取项目、push推送项目仓库

12.跨团队协作

顾名思义,它不属于一个团队。打个比喻:团队A有3个成员在开发项目,但由于各种原因,又外聘了一个人(B团队)一起开发,因为不属于一个团队(没权限),所以B只能通过fork将项目叉到自己的远程库中,修改的代码提交到A,A接收查看代码后,可以选择将B的代码添加到仓库中。

13.vs code环境配置

1设置git路径

点击vscode设置,搜索 git.path, 点击设置编辑

找到git安装路径下cmd的git.exe文件

2.进行 指定git名称和邮箱的命令

$ git config --global user.name "Your Name"
 
$ git config --global user.email "email@example.com"

 就可以通过http或者设置ssh对仓库进行操作

3.当本地代码修改时,vscode提示

 此时可以进行add、commit、push操作了

最后,在9章讲到登录远程报错:hint: Updates were rejected because the remote contains work that you do hint: not have

报错原因:

远程仓库和本地仓库文件不同步,解决方法是先执行git pull将远程仓库文件拉下来使得远程与本地同步。

解决方法:重新pull拉取远程库数据,在重新提交本地数据,完成同步数据(add、commit、push)

步骤:

//重新pull拉取远程库数据

git pull  (origin远程库别名)(master 分支名)--allow-unrelated-histories  

 //重新提交本地数据,完成同步数据

1. git add -u 
2. git commit -m 'update'
3.  git pull  origin master --allow-unrelated-histories
4. git push origin master

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值