git基础知识与常规操作

2021-10-22  本文已影响0人  蚂蚁想赛跑

git是什么?

Git 是一个开源的,目前世界上最先进的分布式版本控制系统

SVN与Git的最主要的区别?

  • SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
  • Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

git工作流程

先从自己clone项目下来开始说整个工作流程分为(workspace->Index->Repository->Remote)

配置Git、初始化仓库

1. 配置Git 账户信息

git config --global user.name 'rosebay'
git config --global user.email 'userEmail'

2. 创建一个新目录(版本库)并初始化

 mkdir demo
 cd demo
 git init
 

clone 远程仓库

git clone 代码仓库地址

创建分支

1. 查看仓库的状态
git status

2. 创建dev分支并选择此分支
git chechout -b dev

新建文件、提交、回滚、日志查看

 0. 在demo文件夹dev分支上创建`readme.md`文件
 1.查看仓库状态 :此时应有提示有文件需要被加入到文件缓存区
 
  git status

2.把有改动的文件加入到文件缓存区

 git add  readme.md
 
 3.查看仓库状态:此时应有提示有文件需要commit
 
 git status
 
 4. 把文件缓存区的文件加入到版本库中(即把改动点更新到对应分支)
 
 git commit -m '新增 readme.md 文件'
 
  5.对文件修改并重复上面的操作 因为进行了commmit 提交了文件修改,当前空文件的分支被激活
 
  git branch
  git status 
  git add readme.md
  git  commit -m 'readme,md被修改了'
  git status
 
  git reset --hard HEAD~1
  git checkout readme.md
  git status
    git add .
    git checkou .
   git log
   git reflog
  File->git->show History ->log

本地git仓库关联远程仓库

```
 1.本地仓库与远程仓库关联
 git remote add origin '远程仓库的地址'
 
 2. 拉取远程分支代码
 git pull orign dev
 
 3. 修改代码并更新到本地
 git add.
 git  commit -m '修改代码描述'
 
 4. 上传本地代码到远程分支
 git push orign dev
 
 5. 此后可以直接使用git pull 、git push  操作远程分支代码
 git pull 
 
 6.改动代码
 git add.
 git commit -m '改动点描述'
 git push
 
 7.push本地代码到远程master分支时需要权限
 8. 关联远程
 
```

远程仓中有部分代码,不允许直接把本地的代码覆盖上去时

```
1. 更新所有远程分支到本地
git fetch 

2.更新内容与本地合并
git merge

3.merge 报错 :fatal refusing to merge unrelated histories
git pull origin master --allow-unrelated-histories
 
 4.再次合并
 git merge
 
 5. merge 报错 Please , commit your cahnges before you merge
 git add . 
 git commit -m  '提交信息'
 git merge
 
 6. 拉取远程分支代码
 此时本地与远程分支代码相同不会报错
 git pull
 
7. git push orgin '远程分支名称'

```

解决代码冲突

```
  1.clone 远程分支代码到本地另一个目录
    git clone '分支git地址'

  2.修改readme.md 文件内容,并push 到远程分支
     git status
     git add .
     git commit -m '代码内容修改描述'
     git push

  3.找到最开始的该工程文件夹,修改和第2步中文本的同一行内容
    git status 
    git add .
    git commit -m '代码内容修改描述'

  4.拉取远程分支代码
    git pull

  5.冲突报错 ,解决冲突 根据冲突提示内容,手动修改代码
    git add .
    git commit -m '修改代码描述'

 6.解决冲突后再次拉取代码
     git pulll

 7.将解决冲突后最新的代码push
    git push    

```
上一篇下一篇

猜你喜欢

热点阅读