Git使用笔记

简介: 1. 常用命令下载一个项目和它的整个代码历史 git clone [**.git] 比较当前文件和暂存区文件差异 git diff 将工作文件修改提交到本地暂存区 git add -A git add 显示有变更的文件 git status 提交暂...

1. 常用命令

下载一个项目和它的整个代码历史
git clone [**.git]
这里写图片描述

比较当前文件和暂存区文件差异
git diff
这里写图片描述

将工作文件修改提交到本地暂存区
git add -A
git add
这里写图片描述

显示有变更的文件
git status
这里写图片描述

提交暂存区到仓库区
git commit -a -m “[comments]”
这里写图片描述

查看该文件每次提交记录
git log
这里写图片描述

本地代码更新(取回远程仓库的变化,并与本地分支合并)
git pull origin [branchName]
这里写图片描述

本地代码提交(上传本地指定分支到远程仓库)
git push origin [branchName]
这里写图片描述

新建分支
git checkout -b [newBranchName]
git checkout -b [newBranchName] master 在master分支上创建分支并切换到newBranchName分支上
这里写图片描述

切换指定分支
git checkout [branchName]
这里写图片描述

查看所有分支
git branch -a
git branch 没有参数,则显示本地库中所有本地分支的名称,当前分支前面会有分号
这里写图片描述

合并分支
git merge origin [branchName]

git merge –no-ff [branchName]
–no-ff指的是强行关闭fast-forward方式。
fast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并。属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息。因为在这个过程中没有创建commit

git merge –squash 是用来把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么我们合并的时候不希望把这些历史commit带过来,于是使用–squash进行合并,此时文件已经同合并后一样了,但不移动HEAD,不提交。需要进行一次额外的commit来“总结”一下,然后完成最终的合并。
–squash:使用squash方式合并,把多次分支commit历史压缩为一次。

2. git中三种状态

git中三种状态分别为:modified, new file, untracked
下面详细演示下三种状态
初始状态
这里写图片描述

编辑文件file1.txt
这里写图片描述

添加文件file3.txt
这里写图片描述

使用git add 将文件添加到待提交清单
这里写图片描述

3. 合并分支冲突

比如master分支在进行合并子分支branchName时,如果采用git merge –no-ff [branchName]的方式,会显示出冲突的地方,比如:
这里写图片描述

类似上面这种情况,说明发生了冲突,遇到这种情况不用担心。这时候需要手动删除。
首选打开编辑冲突的文件,类似以下这种情形:
这里写图片描述

介于<<<<<<<(包括======以及>>>>>>都是七个) HEAD和=======的内容是master分支原有的内容:“master file1.txt”。
介于=======和>>>>>>> branchName的内容是branchName原有的内容: “file1 has changed”。
这样将子分支branchName的内容整合到master的过程中,上述标记的2块内容会发送冲突,解决办法就是我们手动编辑去掉冲突,即先编辑冲突,然后使用gitt commit提交。
这里写图片描述

对于git来说,编辑冲突和平时的修改代码没什么差异。修改完成后,都是要把修改添加到缓存,然后支持commit.

持续更新中…..

目录
相关文章
|
Shell 开发工具 git
Git笔记(三)---- Git分支操作
Git笔记(三)---- Git分支操作
128 0
|
6月前
|
存储 XML Shell
Git笔记
Git笔记
44 0
|
6月前
|
开发工具 git
git使用笔记-修改url并与远端库合并
git使用笔记-修改url并与远端库合并
36 1
|
Shell 开发工具 git
[笔记]Git 介绍以及入门基本功能(一)
[笔记]Git 介绍以及入门基本功能
|
6月前
|
Shell 开发工具 数据安全/隐私保护
git笔记
git笔记
58 0
|
Shell 网络安全 开发工具
git理解之超薄笔记
git理解之超薄笔记
79 1
git理解之超薄笔记
|
Shell 开发工具 git
[笔记]Git 介绍以及入门基本功能(二)
[笔记]Git 介绍以及入门基本功能(二)
|
Shell 网络安全 开发工具
git版本管理加合并笔记
git版本管理加合并笔记
|
开发工具 git
常见git操作笔记
常见git操作笔记
75 1
|
安全 程序员 开发工具
代码版本管理笔记 | Python 程序员也应该会的 Git 分支操作
代码版本管理笔记 | Python 程序员也应该会的 Git 分支操作
184 0