首页 > 其他 > 详细

git学习笔记二

时间:2019-08-28 00:44:41      阅读:125      评论:0      收藏:0      [点我收藏+]

一,      版本控制

Git是全量更新。Git的每一个版本中都包含所有的文件,比如从version1到version2,我只更新了A文件,但是version2中包含了修改后的所有文件(最新的)。这样可以时刻保证数据的完整性。

 技术分享图片

 

 

二,      Git的四种状态

 技术分享图片

 

1,         已修改(modifid)

2,         已暂存(staged)

3,         已提交(commited)

三,      操作

1,         删除本地git仓库(.git文件)

rm –rf .git

2,         查看当前git状态

Git status

3,         合并add和commit

Git commit –am “注释”

4,         把暂存区的内容回退(回退到工作区)

git rm - -cached hello.txt

或git reset HEAD hello.txt

添加到工作区:git add hello.txt

5,         删除已提交(commited)的文件

方式一:

git rm hello.txt  删除后的文件被放到了暂存区

然后再执行commit才算彻底删除:git commit –m “彻底删除hello.txt”

如果执行了git rm hello.txt后,后悔删除了,怎么办:

现在文件在暂存区,执行:git reset HEAD hello.txt ,

此时文件回到工作区了,然后再执行:git checkout - - hello.txt

 

方式二:

rm hello.txt  这是linux命令删除,

这时必须git add .   git commit 才彻底删除

6,         修改注释(提交时的注释写错了,怎么修改?)

git commit - -amend –m “新注释”

7,         忽略文件(.gitignore文件)

*通配任意字符

 

*.properties  忽略所有.properties文件

!b.proterties  除了b.proterties文件

 

 

8,         放弃对工作区的修改

git checkout - - hello.txt  撤销对工作区的修改。(有时候我们用ctrl +z 不能回退到没修改之前的状态,这个很有用)

     

9,         查看git日志

Git log  

Git log - -graph   图形化日志

Git log - -graph - -pretty=oneline - -abbrev-commit

git log -2 查看最近两次的提交

git log –pretty=oneline  日志在一行显示

git log – pretty=format:”%h - %an , %ar:%s” 自定义日志格式

10,      Linux命令

Ctrl + a 、ctrl + e  移动光标到头,尾

Ctrl + c  当前行写错了,放弃执行当前这一行

echo ‘hello’ > hello.txt  修改文件(覆盖)

查看文件内容 cat hello

四,      设置用户名密码

1,         命令

git config - -global  给整个计算机一次性设置,基本不用

git config - -system  给当前用户一次性设置,推荐

git config - -local  给当前项目一次性设置

优先级:local > system > global

2,         实际操作

进入到一个项目中,然后进入到 该项目的 .git目录下,执行:

git config - -local user.name “yourname”

git config - -local user.email “youremail”

进入到 .git目录下,打开config文件,可以看到用户名和密码被加入了,

存放在了.git目录下的config文件中

 

如果是给当前用户一次性设置:

那么需要:

cd ~  (进入了系统用户目录:/c/Users/yaming/.gitconfg)

cat .gitconfig   (用户的config文件,给用户设置邮箱和名字,就保存在这个文件里了)

git config - -system user.name “yourname”

git config - -system user.email “youremail”

 

删除用户名邮箱:

git config - -local - -unset user.name

git config - -local - -unset user.email

 

五,      分支操作

1,         命令

创建分支git branch branchen_ame

查看分支 git branch   (git branch –r  查看远程分支)

切换分支 git checkout branch_name

删除分支 git branch –d branch_name(删除前需要先合并到主分支)

强行删除 git branch –D branch_name

创建并切换分支 git ckeckout –b branch_name

合并分支(到master) git merge branch_name

查看分支最近一次提交的信息 git branch -v

2,         细节

如果在分支a中进行了写操作,但是此操作局限在工作区中进行(没有add,commit),在master中能够看到该操作。

如果分支a中进行了写操作,并进行了commit,则master中无法看到该文件。并且此时可以直接删除分支a。

3,         分支

分支是一个commit链,一条工作记录线

 技术分享图片

 

六,      分支合并与冲突

1,         分支指向commit, HEAD指向当前分支的头部(分支名)

 技术分享图片

 

2,         当切换到dev时,HEAD会指向dev

执行:git  checkout –b dev

 技术分享图片

 

 

3,         对dev分支进行两次commit后,此时dev在master的前面了

 技术分享图片

 

4,         把dev分支合并到master。Master就可以直接追赶上dev了。追赶这个动作称之为fast forward。fast forward 本质是指针的移动。

执行 git merge dev

 技术分享图片

 

合并后master和dev指向同一个commit

 技术分享图片

 

 

5,         分支冲突

解决冲突:修改文件

Git add .    git commit

七,      版本穿梭

1,         在多个commit之间进行穿梭。回退,前进

回退到上一次commit : git reset - -hard HEAD^

回退到上两次commit : git reset - -hard HEAD^^

回退到上n次commit : git reset - -hard HEAD~n

切换到任意commit处(通过sha1值,直接回退):git reset - -hard 850bc999(sha1值的前几位就行)

查看所有log:git reflog

 

git学习笔记二

原文:https://www.cnblogs.com/inspred/p/11421507.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!