Git使用

Git的安装及其配置

下载

通过淘宝镜像:
下载
进行安装,因为会自动配置环境变量,所以不需要手动去添加


Git Bash:Linux shell

Git CMD: Windows shell

配置

git config -l 查看当前配置

配置用户设置:

文件夹 - Gitet

设置

git config --global user.name ""  #名称

git config --global user.email ""   #邮箱

项目创建

本地仓库搭建

当前目录建立一个git代码库
$ git init

克隆远程仓库

# 通过URL 克隆
$ git clone [url]

成功克隆项目

文件的四种状态

1.untacked:未跟踪,不参与版本控制 通过命令 git add 状态变为staged

2.unmodify:文件已经入库,且并未修改 被修改则成为modifild

使用git rm 移出版本库 成为 untacked文件

3.modifiled:文件已修改,通国git add 进入暂存区 staged 状态

使用 git checkout 丢弃修改 返回unmodify状态

4.staged:暂存状态 执行 git commit 将修改同步到库中 文件变为unmodify状态

执行 git reset HEAD filename 取消暂存,文件状态为modified

get status 查询当前文件状态

get add . 跟踪文件状态,添加所有文件到暂存区

git commit -m "提交信息" 添加到本地仓库

.gitignore文件下 忽略文件

# 忽略 `*.a` 文件
*.a
# 忽略 `*.A` 文件,但 `somefile.A` 除外.
*.A
!somefile.A

# 忽略 `*.b` 和 `*.B` 文件
*.[bB]
# 忽略 `*.c` 和 `*.C` 文件,但 `somefile.C` 除外.
*.[cC]
!somefile.C

# 只忽略 `somepath/` 目录(包括该目录下所有文件),但不忽略 `somepath` 文件
somepath/
# 只忽略 `somepath/` 一级子目录下 `*.txt`,但不忽略 `somepath/sub/*.txt` 文件
somepath/*.txt

# 忽略 `somepath` 文件和 `somepath` 目录
somepath
# 只忽略 `somepath` 文件,但不忽略 `somepath/` 目录
somepath
!somepath/

# 只忽略当前目录下的 `somepath` 文件和目录,但不忽略子目录的 `somepath`
/somepath

建立SSH 公钥

ssh-keygen -t rsa 生成公钥

公钥注册到码云


推送到远程仓库

git push origin master 将改动提交到远程仓库 master分支

git push

添加到暂存区-> commit 提交到本地仓库 -> git push到远程仓库

分支

分支常用操作

查看本地分支 git branch

查看远程分支 git branch -r

新建分支 git branch xx

新建分支并切换到该分支 git checkout -b xx

切换回主分支:git checkout master

再把新建的分支删掉:git branch -d feature_x
除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的
git push origin

更新与合并

要更新你的本地仓库至最新改动,执行:
git pull
以在你的工作目录中 获取(fetch)合并(merge) 远端的改动。
合并指定分支到当前分支 git merge [branch]

在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:
git add
在合并改动之前,你可以使用如下命令预览差异:
git diff

替换本地改动

可以使用如下命令替换掉本地改动:
git checkout --

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master

完整流程

  1. git init //初始化仓库

  2. git add * //添加文件到本地仓库

  3. git commit -m "first commit" //添加文件描述信息

  4. git remote add origin + SHH地址 //链接远程仓库,创建主分支

  5. git pull origin master // merge:拉取最新的仓库状态

  6. git push -u origin master //推送到远程仓库

提示错误:Updates were rejected because the tip of your current branch is behind

git pull --rebase origin master //rebase:拉取合并到最新的时间线的分支

git push -u origin master

解决方法

原文地址:https://www.cnblogs.com/jy00/p/15150397.html