git与gitee开发使用

点这里了解更多

前言

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。同时,git 是在今后的工作中用到的一门十分重要的技术,方便团队开发以及数据的保留。所以熟悉相关的使用是有必要的,之前b站代码泄漏的事情也让我觉得确实需要重视一下git的使用。还有16天,开心心,幸福生活即将来临!!!

仓库文件概述

.gitignore

用于保存不希望被同步到仓库中的文件,我们在本地工程常会修改一些配置文件,这些文件不需要被提交,而我们又不想每次执行git status时都让这些文件显示出来,就可以加入到.gitignore 文件中。

README.md

仓库自述文件,一般用来介绍项目及基本的使用操作

常用git命令

  • git clone + 远端仓库地址 :克隆远端仓库到本地
  • git status :查看当前工作区和暂存区文件的状态。
    git status –s:查看工作区状况
  • git log : 查看历史
  • git add : 标记文件添加到仓库
    git add . =>标记当前目录及子目录的文件
  • git commit : 提交文件到本地才仓库
  • git branch [分支名] : 添加新的分支
    git branch -a : 查看所有分支
  • git pull :拉取远端仓库的内容(更新本地仓库)
  • git push : 提交到远端仓库
  • git checkout :切换分支

git 合并远程分支的操作

# 查看分支
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/homework
  remotes/origin/master

# 本地没有要合并的分支就先创建
$ git branch homework

# 切换分支
$ git checkout homework
Switched to branch 'homework'

# 查看目的源
$ git remote -v
origin  http://git.sanchuangedu.cn:3000/chenpb/python2019Summer.git (fetch)
origin  http://git.sanchuangedu.cn:3000/chenpb/python2019Summer.git (push)

# 拉去远端仓库的分支内容
$ git pull origin homework
From http://git.sanchuangedu.cn:3000/chenpb/python2019Summer
 * branch            homework   -> FETCH_HEAD
Updating 0c27965..24f384d

git 提交例子:

# 切换到test1分支
$ git checkout test1
Switched to branch 'test1'


# 添加文件
$ vim myhomework.txt

# 将myhomework.txt创建快照,进行暂存态
$ git add myhomework.txt
warning: LF will be replaced by CRLF in myhomework.txt.
The file will have its original line endings in your working directory.

# 提交到本地仓库
$ git commit
[test1 a749a0f] add file myhoework.txt
 1 file changed, 1 insertion(+)
 create mode 100644 myhomework.txt

# 提交到远程仓库
$ git push origin test1
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by Gitee.com
To https://gitee.com/vaster/python201802.git
   a7f9383..a749a0f  test1 -> test1

git 冲突问题

冲突发生的原因

开发过程中,我们都有自己的特性分支,所以冲突发生的并不多,但也碰到过。诸如公共类的公共方法,我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。
发生冲突,在IDE里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件,然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突。

解决冲突

通过git stash命令,把工作区的修改提交到栈区,目的是保存工作区的修改;
通过git pull命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突;
通过git stash pop命令,把保存在栈区的修改部分合并到最新的工作空间中;

将dev分支的内容合并到master分支

#先查看下当前的本地和远程分支    
$ git branch -a  
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

#确保master分支也是最新的
$ git pull 
Already up to date.

 #切换到dev 分支 
$ git checkout dev 

#确保dev 分支也是最新的
$ git pull 
Already up to date.

#执行合并的关键代码,此时执行结果时将本地的master合并到本地dev分支
$ git merge master 

#将合并的本地dev分支推送到远程dev
$ git push origin dev 

学习链接

20道经典面试题

赏瓶可乐吧(*^▽^*)