git的使用流程

git的使用流程

git 码云 仓库通信说明

    在写 git 命令之前先来描述一下 git 和码云之间的通信。
1. 首先 在码云仓库中新建自己的仓库,设置相关的配置
2. 执行 git clone url(远程仓库地址) 将远程仓库下载到本地。
    进入项目目录,目录下有.git文件,在这个目录下写自己的项目文件。
3. 如果你已经在本地使用了git管理了你的项目,现在需要将本地的项目上传到码云仓库。
    你同样需要在码云上新建项目,将项目清空即可。
    然后在本地添加远程仓库地址,就可以将已经存在的git项目推到码云上了,注意步骤,否则是推送到远程仓库
4. 关于密码权限问题
    你需要使用码云上的 SSH 链接,不要使用 https 链接,然后按照链接步骤 
    [https://gitee.com/help/articles/4191#article-header0][1] 配置即可。

git的安装

在git官网上下载 git 安装文件,下载所需版本,一路点击下一步即可,也可以自行设置选项。
安装完成以后。双击 Git Bash 打开命令面板。
执行 git version 查看版本号,能正常运行并输出版本号,说明 git 安装成功。
如果在 cmd 中无法启用 git 命令,需要配置环境变量。配置的过程如下:
在我的电脑中右击,
选择属性选项 ->高级系统设置 -> 高级选项卡 -> 点击环境变量按钮 ->
在系统变量中找到 Path 双击将 git 的安装目录复制进去即可.
这样就能在 cmd 中启用 git 指令了,如有疑问自己百度一下配置好即可。

git 指令的使用

使用前先了解一下 dos 和 linux 的简单命令( 可以先略过 )

cd 命令
cd .. 返回上一级目录
cd d: 进入 d 盘(指定的盘符)
cd / 返回根目录
cd <folderName> 进入指定的目录

ls命令
ls 列出当前目录下所有的文件( 不含隐藏文件 )
ls -lat 列出隐藏文件目录详细信息
ls -a 列出目录下所有的目录和文件

mkdir 命令
mkdir <dirname> 创建新目录(在当前目录下)

touch 命令
touch <fileName> 创建新文件

cat 命令
cat <fileName> 显示这个文件

vi 命令
vi <fileName> 编辑文件
在英文状态下输入 i,进入插入模式
编辑文本后,按 esc 键退出编辑
按 :wq 保存并退出,回到命令面板

git 查看文件状态

 1.git status : 查看当前状态,看提示的颜色和标志,区分文件需要的操作。
 2.git status -s : git status 简化 注意前面的字母标志,分为2列,
   第一列是对staging区域而言,第二列是对working目录而言。同时注意字母的颜色,区分当前文件的状态。

git 跟踪文件

 1.git add : 将文件添加到暂存区,非常重要的一个操作,这样就可以实时的对你的文件进行跟踪了。
 2.git add filename : 将filename文件添加到暂存区
 3.git add . : 将所有文件添加到暂存区
 4.git add -A : 添加所有改动文件到暂存区( 不常用 )
 5.git add -u : 添加有改动且已追踪的文件( 不常用 )

git 文件比较

 1.git diff : 比较文件,默认是工作区和暂存区文件比较,不加参数是所有文件
 2.git diff --cached : 暂存区和本地仓库比较
 3.git diff head : 工作区和本地仓库比较
 4.git diff filename : 工作区和暂存区 filename 文件的对比,可以加路径。
 5.git diff branchName filename : 比较当前分支和 branchName 分支的 filename 的文件
 6.git diff romoteName/branchName filename : 比较远程主机 romoteName 的 branchName 分支的filename文件比较。
 即当前分支的某个文件和远程主机的某个分支的代码比较。
 注意:如果不传filename,比较所有文件,传filename时注意文件路径。
  在执行add操作是,为了安全先执行diff命令。在 git diff 中存在状态字
  第一列 M 表示:版本库和处理中间状态有差异( 版本库与暂存区有差异 )
  第二列 M 表示:工作区和暂存区文件有差异( 当前文件指 )
    A: 你本地新增的文件(服务器上没有)
    C: 文件的一个新拷贝
    D: 你本地删除的文件(服务器上还在)
    R: 文件名被修改了
    T: 文件的类型被修改了
    U: 文件没有被合并(你需要完成合并才能进行提交)
    X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)

    详情请查阅相关资料,不过意义不大,用一段时间就知道了。

git 查看日志

 1.git log : 列出提交的详细信息
 2.git shortlog : git log 简化
 3.git log -p : 查看历次的 log 信息及更改情况
 4.git log -p -number : 查看距现在最近的 number 次的 提交的信息及更改情况
 5.git log --stat -number : 查看log显示文件修改情况
 6.git log --pretty=oneline : 查看提交的版本 ID
 7.git reflog : 查看所有的操作信息。
 
 git log --stat -number 
 很有用的一个命令,可以迅速查找到你上次提交的具体的文件信息,只是展示那些文件被修改过。

git 提交

 1.git commit -m "信息" : 提交到本地仓库
 2.git commit filename -m "信息" : 提交指定文件,可以是文件目录,多文件用空格隔开
 3.git commit --amend -m "信息" : 合并提交
 4.git commit -a -m "信息" : 添加到暂存区并提交到本地仓库(不建议使用)

git 回退

 1.git checkout .(<fileanme>|/dirname) : 撤销修改,不建议使用,会造成修改的文件无法找回。(从工作区撤回)
 2.git reset HEAD <filename> : 从暂存区撤销指定文件
 3.git reset : 从暂存区撤销所有未提交的文件
 
 4.git reset --hard HEAD : 硬回退到最后一次提交(硬)
 5.git reset --hard HEAD^ : 最后一次提交的前一个提交(硬)
 6.git reset --hard HEAD~number : 回退到前 number 版本(硬)
 
 7.git reset --hard versionNumber : 回到指定的版本,通过 versionNumber 版本号(硬)
 8.git reset --hard master@{num} : 回到指定的版本
 --hard : 直接回退到工作区
 --soft : 从仓库恢复,本次修改的内容依然存在,只是处于为提交状态
 后面 5 条不知道为什么这样显示,很无奈。

git 分支

    说道分支,特别强调,在git使用过程中,一定要知道所有的操作都是针对当前分支的。所以在查看git文档时要深刻理解你当前处在
哪个分支,想在当前分支上做哪些操作。 这一点对于git的使用至关重要,几乎所有的指令都直接和间接与分支关联。

1.git branch branchName : 创建一个名为 branchName 的分支
2.git checkout branchName : 从当前分支切换到 branchName 分支
3.git checkout -b branchName : 创建并切换分支
4.git checkout -b branchName remoteName/branchName 创建一个干净的分支(以远程分支为基础,创建新的本地分支,如果clone后,需要切换到某个分支,而本地并没有这个分支。可以使用该命令)

5.git branch -d branchName : 删除分支,未合并分支不能被删除,使用 -D 强制删除分支
6.git branch : 列出本地分支
7.git branch -a/-r : 列出所有分支
8.git branch -v : 查看分支的最后修改(分支最后一次提交的版本信息)
9.git branch -l : 列出所有的本地分支
10.git reflog show branchName : 列出指定分支的版本记录列表
11.git reflog show --date=iso branchName :  查看分支创建的时间

12.git merge branchName : 将指定的 branchName 分支合并到当前分支。    

git 中断 stash

    起名中断,自己这么理解,该方法很有用。特别是在开发新版本的时候,正式服务器上有一个紧急的,
需要修复的 bug, 这个时候怎么办,又不想提交。于是你可以执行这个命令。保持现场,等你回来。

1.git stash : 中断,保持现场。(用编号标记不同的中断)
2.git stash pop : 取出中断,恢复最后一次中断时的现场。
3.git stash list : 查看所有的中断信息
4.git stash apply stash@{1} : 取出指定的中断
5.git stash clear : 清除所有中断

    举一个例子,比如你在dev分支正在开发一个功能,这时master分支有一个亟待解决的bug。
此时dev分支的功能并没有开发完,现在并不想执行 commit,提交。这时你执行 git stash,中断。
然后切换到mater分支上修复bug,修复完成后切换到 dev 分支,
然后将中断取出,执行git stash pop 就可以继续你的开发工作了。

git 其他

1.git log --author="author": 查看 author 提交的记录
2.git status: 查看状态、待 push 的 commit 
3.git cherry -v: 查看未提交的 commit 
4.git log master ^origin/master: 查看未提交的 commit

    原文作者:心语花束
    原文地址: https://segmentfault.com/a/1190000008565499
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞