git实战(重点)

linux命令一些:

cat   查看文件的内容

ll -lA  查看隐藏文件

第一步:本地库初始化

git init

备注:.git目录是隐藏文件,存放的是本地库相关的子目录和文件,不要删除,也不要修改

第二步:设置签名(作用:区分不同的开发人员)

用户名:jack
Email地址:[email protected]

备注:这里设置的签名和远程库(代码托管中心)的账号、密码没有任何关系

项目级别:git config
      git config user.name jack
      git config user.email [email protected]
系统用户级别:git config --global
       git config --global user.name Tom
       git config --global user.email [email protected]

项目级别信息保存的位置:./.git/config 文件

系统用户级别保存的位置:~/.gitconfig 文件

第三步:添加提交及查看状态

状态查看操作(查看工作区、暂存区状态)
git status
添加操作(将工作区的新建/修改添加到暂存区)
git add [file name]
提交操作(将暂存区的内容提交到本地库)
git commit -m "commit message" [file name]

查看状态: git status

文件在开发区,文件名为红色

文件在暂存区,文件名为绿色

提交到暂存区:git add xxxxx

从暂存区撤回到开发区:git rm --cached xxxxx

提交到本地库:git commit xxxxx      并在弹出的vim里面输入提交的注释,这次提交了什么

在vim显示行号::set nu

方便快速注释提交本地库:git commit -m "提交文件" xxxxx

第四步:查看历史记录、实现版本的更改[前进和后退]

查看历史记录的几种方式:
git log
git log --pretty=oneline
git log --oneline
git reflog   (推荐使用这个)

查看记录:git log

以漂亮的格式显示记录:git log --pretty=oneline

以漂亮的格式显示记录(hash值只显示一部分):git log --oneline

显示步骤的记录:git reflog

HEAD代表Git的指针

基于索引值操作实现版本更改(最好的方式实现版本的更换)
git reset --hard [索引值]
使用^符号(只能后退)
git reset --hard HEAD^ (1个^后退1个,2个^后退2个)
使用~符号(只能后退)
git reset --hard HEAD~3 (在~后天添加数字3,表示后退3步)

第五步:reset命令三个参数hard、soft、mixed的区别

--soft参数:在本地库移动HEAD指针

--mixed参数:在本地库移动HEAD指针,重置暂存区

--hard参数:在本地库移动HEAD指针,重置暂存区、重置工作区(推荐用这个)

第六步:永久删除文件后找回

在工作区删除文件:rm [文件名]

删除提交到暂存区:git add [文件名]

删除提交到本地库:git commit -m "xxxxx" [文件名]

以上操作,在这个版本里面文件被删除了,在上一个版本这个文件没有被删除,更换到其他版本就可以看到文件

第七步:添加到暂存区的删除文件找回

将本地库进行刷新:git reset --hard HEAD

前提:删除前,文件存在时的状态提交到了本地库

操作:git reset --hard [指针位置]

删除操作已经提交到本地库,指针位置指向历史记录

第八步:比较文件

git diff [文件名]                     将工作区的文件和暂存区进行比较

git diff HEAD [文件名]          将工作区中的文件和本地库历史记录比较

git diff HEAD^ [文件名]         将工作区中的文件和本地库历史记录比较

第九步:分支操作(重点)

查看分支: git branch -v

创建分支: git branch one

切换分支: git checkout [分支名]

合并分支:

    1、切换到接受修改的分支上(被合并,增加新内容)

    2、执行merge命令

举例:将一个分支合并到master上面

a、先将分支切换到master上面:git checkout master

b、执行merge命令:git merge [有新内容分支名]

解决冲突:

冲突的表现如下:

<<<<<<<<<HEAD

表示当前分支的内容

==============

另一分支的内容

>>>>>>>>>>>>>>master

1、将特殊符号删除,跟另一分支的作者进行讨论,编辑到满意为止

2、文件修改后,退出

3、git add [文件名]

4、git commit -m "解决冲突"   (备注:此时commit一定不带文件名)

发布了241 篇原创文章 · 获赞 145 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/Richard_666/article/details/103637534