Git分布式版本控制器常用命令和使用

4176ab286b46a3293a8ef79644a606bc.png

71ccf62d2802eeb77710b08f5412e2bc.jpeg

Git安装教程(Windows安装超详细教程):

参考博客地址(该篇博客解释的非常详情,大家可以对照着进行安装):

https://www.jianshu.com/p/414ccd423efc

Git文件的四种状态:

未跟踪(untrack):未追踪,表示文件为新增加的

已修改(modified):表示修改了文件,但还没保存到git仓库中

已暂存(staged):表示修改的文件提交到了暂存区,但是还没有提交到本地Git版本库

已提交(committed):表示数据安全提交到了本地Git版本库

Git工作的四个区域:

Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内

Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内

Repository(本地仓库):提交到本地仓库的文件

Repository(远程仓库):已提交到远程计算机内的文件

提交流程为:工作区》暂存区》本地版本库》远程版本库

多个Git账号的登录与切换:

在Git Bash Here的控制台里输入:

1

2

3

4

5

6

git config --global user.name "你的名称"

git config --global user.email "你的邮箱"

切换完成后,查看对应的账号:

git config user.name

输出账号名称:YSGStudyHards

详情参考博客:https://blog.csdn.net/qq_36602939/article/details/79794686 

查看Git项目远程仓库地址:

1

git remote -v

6414b2514b941c3dfc4b229d27957da3.png

查看用户名和邮箱地址:

1

2

3

4

//查看用户名

git config user.name

//查看邮箱地址

git config user.email 

拷贝一个Git仓库到本地:

1

git clone

开发环境中Git完整提交步骤:

首拉取服务器代码:

注意:提交代码之前,需先从服务器上面拉取代码,以防覆盖别人代码!

1

git pull 

查看当前工作目录树的工作修改状态(这个命令在git中使用最频繁了,原因会告诉你下一步该做的事情):

1

git status  

将工作区修改添加的文件提交到暂存区:

1

2

3

4

5

git add + 文件

git add -u + 路径:将修改过的被跟踪代码提交缓存

git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存  

将暂存区代码提交到本地仓库中:

1

git commit -m “功能修改,这里是注释”   

将代码推送到服务器(主分支):

1

git push origin master  

Git提交过程遇到问题:

误将代码提交到暂存区中(git add):

解决办法:利用 git reset 命令将撤回缓存中的代码。

误将暂存区代码提交到本地仓库(git commit):

解决办法:

git reset —soft + 版本号

回退到某个版本,只回退了commit的信息,不会改变已经修改过的代码。

git reset —hard + 版本号

彻底回退到某个版本,本地的代码也会改变上一个版本内容

git pull和git fetch的用法及区别:

git pull (拉取):

  是拉取远程分支更新到本地代码库的操作,比如远程仓库的学习资料有更新,需要把新的内容下载下来,可以使用git pull 是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)!

git fetch (提取):

  理解 fetch 的关键, 是理解 FETCH_HEAD,FETCH_HEAD指的是: 某个branch在服务器上的最新状态’。这个列表保存在 .Git/FETCH_HEAD 文件中, 其中每一行对应于远程服务器的一个分支。

当前分支指向的FETCH_HEAD, 就是这个文件第一行对应的那个分支,使用git fetch获取远程仓库最新代码,但是不会自动合并(merge),git fetch更安全一些,因为在merge(合并)前,我们可以查看更新情况,然后再决定是否合并。

Git撤销,回退/还原,删除操作:

 Git取消从工作区提交到暂存区的文件追踪:

1

2

3

4

5

6

7

8

9

在使用git的时候,有些文件是不需要上传的,所以就可以修改

例如:

如果是对所有文件都取消跟踪的话,就是

git rm -r --cached .   //不删除本地文件

git rm -r --f .   //删除本地文件【不推荐使用,因为会把本地的文件也给删除了】

对某个文件取消跟踪

git rm --cached readme1.txt    //删除readme1.txt的跟踪,并保留在本地(推荐使用)

git rm --f readme1.txt    //删除readme1.txt的跟踪,并且删除本地文件。

工作区于暂存区之间的提交回退操作:

1

2

3

4

5

6

7

8

9

10

11

12

13

# 添加指定文件到暂存区

git add [file1] [file2] ...

# 添加指定目录到暂存区,包括子目录

git add [dir]

# 添加当前目录的所有文件到暂存区

git add .

#当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用

git rm file_path

#当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 这个时候直接push那边这个文件就没有,如果push之前重新add那么还是会有。

git rm --cached file_path(文件名称,ysg.txt)

#直接加文件名   从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖

#加了【分支名】 +文件名  则表示从分支名为所写的分支名中拉取文件 并覆盖工作区里的文件

git checkout

版本库回退到工作区:  

1

2

3

4

5

【这里操作是已经提交了在本地代码库的操作】

#去掉上一次的提交(会直接变成add之前状态,即取消追踪)  

git reset HEAD^

#去掉上一次的提交(变成add之后,commit之前状态)

git reset --soft  HEAD^  

查看提交历史:

1

2

3

4

git log                         # 查看提交历史

git log -p <file>               # 查看指定文件的提交历史

git blame <file>                # 以列表方式查看指定文件的提交历史

git log --oneline               # 查看提交日志,并且只显示第一行

合并与衍合:

1

2

3

4

git merge <branch>               # 合并指定分支到当前分支

git merge --abort                # 取消当前合并,重建合并前状态

git merge dev -Xtheirs           # 以合并dev分支到当前分支,有冲突则以dev分支为准

git rebase <branch>              # 衍合指定分支到当前分支  

Git拉取时设置拉取深度:

1

git clone --depth=1 git@github.com:xxx.git

Git查看分支查看:

1

2

3

4

git branch -vv 查看当前开发分支

git branch  查看本地所有分支

git branch -r  查看远程所有分支

git branch -a  查看本地和远程所有分支

52d52d69b084550cba2801d705a6ed99.gif

7ac317722c23b5a37d1241617c7b591c.gif

3460d600662e7a24cb0da92e714172da.jpeg


学习是一个永无止境的过程,你知道的越多,你不知道的也会越多,在有限的时间内坚持每天多学一点,你一定能成为你想要成为的那个人。不积跬步无以至千里,不积小流无以成江河!!!

7b9c7af62fcc7a2a14b6a208616c1ffa.gif

See you next good day 5e80945bb15e699d0b0ce489f88d40c6.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值