Git使用

Git简介

  Git是一个开源的分布式版本控制系统,用于高效的处理任何或小或大的项目。

  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git安装

 windos下安装

https://git-scm.com/

Linux下安装

yum install git

Git配置

1. 配置个人的用户名和电子邮件

git config  --global user.name  dream
git config  --global user.email  158148313@qq.com

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。

如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

2.  创建版本库

cd F:
mkdir testgit  # 创建仓库
git init   # 初始化仓库
  •  不要将仓库建在中文目录下,否则可能出现问题。
  • .git是一个隐藏目录,不要随便乱碰(每一次的操作,都会有记录)

本地仓库操作

提交操作

工作区:开发者的工作目录

暂存区:修改已被记录,但未录入版本库的区域

版本库:存放变化日志以及版本信息

git status  # 查看文件的状态,红色是表示未被添加,绿色表示等待提交到本地仓库
git add  a.py   # 表示提交代码到版本库,或者暂存区,.代表所有
git commit -m '注释信息' a.py # 把文件提交到本地仓库,后面不跟文件名则为全部提交

其它操作

git commit -a  #提交暂存区选中的文件,只需要将需要提交的文件前面的#号去掉,在最上面可以写注释。
git rm --cached a.py  # 从暂存区移回工作区

git rm -f a.py        # 从暂存区直接删除文件工作区同时也删除

远程仓库

我们上面已经能在本地仓库里管理代码了,但是如果团队开发,怎么配合起来?

  我们可以把版本放在互联网上,开发者把自己的最新版本推到线上仓库,同时,把最新版本的代码拉到本地。这样就可以协同工作了。

注册在线仓库账号

国外:http:/www.github.com

国内:http://git.oschina.net

提交代码到远程服务器

git remote add test https://gitee.com/ChengJunHua/test.git  # 给远程仓库地址取个别名。

git push test  # push到远程仓库,如果要提交到某分支需要在后面添加分支名字如:git push test dev

git pull abc master   # 从远程仓库,某个分支上拉下来 

 注意:如果出现没有权限之类的报错

生成公钥

Portal

添加公钥

 

查看改动日志

git log # 查看项目日志
git log file # 查看某个文件日志
git log. # 查看本目录日志
git reflog # 查看详细做了什么

git log --pretty==oneline # 一行行显示

版本切换

方式一(不太灵活,建议使用方式二)

git reset --hard "head^"  # ^代表回退第几个版本,几个^就回退几个

方式二

git reset --hard b23c1  # 前面使用的是版本id前五位

分支管理

开发时,代码不是提交到master分支上的,每个人都会有自己的分支;master是把所有人提交的代码合并到一起上线用的分支

git branch  # 查看分支
git branch dev # 创建分支
git checkout dev # 切换分支
git merge dev # 合并分支

 合并分支时需注意,一定要pull下,防止有人提交了代码。

远程服务器配置

git remote # 查看远程仓库
git remote -v  # 查看远程仓库详情
git remote remove txt(或者远程地址)  # 删除远程仓库
git remote rename 旧名称 新名称 # 修改远程仓库名字

解决无法pull代码

在git pull的时候,如果本地代码有改动,而服务器上代码也已经被其他人更新过,这个时候是无法成功pull的,可以通过以下四个步骤解决。

1. 暂存本地修改
git stash  # 将本地所有修改暂时存储起来
git stash list   # 查看保存信息

2.pull代码
git pull -rebase  # 暂存本地修改之后使用pull 
git pull ........

3. 还原暂存内容
git stash pop stash@{0}         # 还原暂存内容
如果只有一次 git stash操作,在还原的本地修改时,直接使用 git stash pop 即可

4.解决文件中的冲突部分 
    如果有文件冲突,冲突地方git会自动指明具体冲突代码,自行修改即可
原文地址:https://www.cnblogs.com/Dream-huang/p/10486622.html