Git 版本控制

原文链接:

Git 版本控制 1.Git的安装 和 基本配置 1.1 安装

Linux安装

二进制包(在线)
yum -y install git //RedHat系列
apt-get git install //Debian系列
源码包(官网下载)

Windows安装

Git在Windows使用模拟环境msysgit
下载地址:
https://git-for-windows.github.io/
注意:如果想让windows作为git服务器则需要搭建ssh服务。
----

1.2 配置

无论Linux还是Windows,安装完成后都要初始化

git config [--global] user.name "Your Name" git config [--global] user.email "your@email.com" 中括号内的参数: --local 本地 --system 系统 --global 全局 无参,则为当前库配置身份 2. Git常用操作 2.1. 生成新的版本库

新建空目录

进入该目录---单击右键---选择Git Bash Here

弹出git的命令行工具

初始化该目录为版本仓库,键入 git init

显示 Initialized empty Git repository in xxxxxx

ls -a 查看该目录下出现.git的隐藏目录,即版本库

初始化完成

2.2.添加文件到版本库

新建文件 1.txt

查看当前版本状态

git status #查看当前版本状态

红字提示有文件未跟踪(未加入版本控制)

在工具内输入以下,添加文件至版本库:

git add 1.txt # 添加文件至缓存区 git commit -m "描述" # 提交文件至版本库 git add newfile1 newfile2 ... # 多文件添加 git commit -m "描述" # 将缓存区的多次添加一次提交 ps: git add . # 添加所有改动过的文件到缓存区 git add --all # 添加所有文件到缓存区

执行完后,提示提交完成.

git status 提示
nothing to commit, working directory clean

至此最简单的添加文件到版本库已完成

2.3.查看文件修改状态相关 git status # 查看当前版本状态(是否修改)

修改文件测试以下 :

git diff # 工作区 与 缓存区的区别 git diff --cached # 缓存区 与 版本库的区别 git diff HEAD # 工作区 与 版本库的区别

Git日志,分析日志构成 :

git log # 查看提交历史 git log --oneline # 以简短的方式查看提交日志 2.4. 版本回退 git reset --hard HEAD # 将当前版本重置为HEAD(通常用于清空缓存区,或merge失败回退) git reset --hard HEAD^ # 回退上一个版本 git reset --hard HEAD^^ # 回退上两个版本 git reset --hard HEAD~n # 回退上n个版本 git reset --hard <commitid> # 回退到指定版本,commitid根据log获取 2.5. 行为日志 git reflog # 行为日志,显示所有提交,回滚等.. git ls-files # 显示缓存区的所有文件 2.6. 撤销

目的:将尚未提交至版本库的修改撤回。

情况一 : 文件修改后尚未添加至缓存区

git checkout --filename # 在工作区撤销文件的修改

情况二 : 文件修改已添加至缓存区

git checkout HEAD [filename] # 撤回添加至缓存区的修改,不指定filename则撤回所有 2.7. 删除 git rm index.php # 删除index.php文件 git rm --cached index.php # 将index.php文件移出缓存区,但不删除( -r * 递归目录) git rm -f 1.html # 将缓存区中的1.html文件移出并删除 3. Git多人协作 3.1. 得到远程的版本库

可以使用两种方式来得到远程版本库:

在某个指定的文件夹下使用,即可得到远端版本库及代码

git clone <远端版本库url> <本地存放该库的文件夹名>

手动添加版本库,并拉取文件

git init #初始化本地仓库 git remote add <remote> <url> # 添加远程版本库 <remote>可自行取名,默认origin git remote -v # 查看远程版本库信息 git remote show <remote> # 查看指定远程版本库信息 git remote remove <remote> # 删除远程remote链接 git pull <remote> <branch> # 下载代码及快速合并 3.2. 推送分支代码

得到远端版本库后,可以在本地按正常的步骤编辑 :
新建或改动文件-->添加至缓存区-->提交到版本库

此时,要想将本地版本库发给远端,只有commit提交是不够的.
还需要下面的操作 :

git push <remote> <branch> # 上传代码及快速合并

执行以上代码,会有报错 : 无法直接推送到远端的主分支

此时,可以曲线救国,推送自己的分支到远端即可 :

git push origin master:dev

此时,推送成功!

4.Git分支管理 4.1. 查看版本库分支 git branch # 显示本地分支 git branch -a # 显示所有分支 git checkout 分支名/标签名 # 切换到指定分支或标签 4.2. 创建分支/删除分支 git branch 分支名 # 新建分支 git checkout -b dev # 创建并切换到dev分支 git branch -d 分支名 # 删除本地分支 -D 强制删除 4.3. 合并分支

要将B分支合并到A分支里
请切换到A分支内,合并B分支的操作在A分支内进行

git merge 分支名 # 合并分支到当前分支 4.4. 解决合并冲突

多分支修改同一文件,合并可能出现冲突。冲突部分用<<<===>>>表示

解决方法:
先手动修改冲突部分,再次提交即可。

5. 使用代码托管系统

市面上有名的Git托管系统 :

GitHub https://github.com/

开源中国 https://git.oschina.net/

5.1. 开源中国 生成SSH密钥

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyzfp.html