git Bash的用法

安装好Git后有如下的几个程序:

  • Git CMD:Git的Bash基于CMD开发的,在原有的基础上增添了新的一些命令和功能。
  • Git GUI:GUI顾名思义就是用户可视化界面,是Git Bash的代替品,除了这个还有GitHub Destop桌面客户端的形式来操作Git仓库
  • Git Bash:Git Bash是命令行操作,对命令熟悉的人来说,使用这种方式效率最高

使用:

打开Git Bash后,需要设置用户名和邮箱

git config --global user.name "Your Name"

git config --global user.email "email@xxx.com"

操作本地仓库

1、找到需要操作的文件夹目录下,右键打开Git  Bash,或者先打开Git Bash,然后cd进相应目录

一些基础命令:

ls 查看当前文件夹

cd 切换目录

mkdir 新建文件夹

rm -r 删除文件夹

touch 新建文件

rm -f 删除文件

-r表示直接删除不需要确认,-f只用于删除文件夹,表示递归删除(删除包含的子目录子文件)

2、初始化本地仓库

git init

3、建立于git远程仓库的链接

有两种链接,一种是git链接,也就是ssh链接,只有仓库的主人才可以使用的连接方式;另一种是http链接,项目成员可以使用的链接

4、赋值相应的链接,打开git Bash,输入命令

git remote add +名字+链接地址

4.1查看已经链接的远程仓库

git remote -v

 一个push一个fetch,就是一个把代码推到远程仓库,一个把代码从远程仓库取回来。这两个一定是成对存在的

4.2删除远程仓库的链接

git remote remove +名字

5、文件上传

5.1 git add 将数据存入缓存区

git add +文件名.文件后缀 +文件名.文件后缀   ,将文件加入缓存区

git add +文件夹/*.后缀    ,将文件夹下的所有该后缀的文件加入缓存区

git add +*z   ,将以z结尾的文件加入缓存区

git add +trader*   ,将以trader开头的文件加入缓存区

git add -u    ,提交被修改和被删除的文件,但不包括新文件

git add .       ,提交被修改和新的文件,但不包括被删除的文件

git add -A    ,提交所有的变化

5.2 git commit 将当前缓存区的文件实际保存到仓库的历史记录中,并添加一条备注(一般描述修改的内容)

git commit -m "注释"       加了-m就直接完成添加注释,否则会进入vim编辑器

5.3 git push 推送本地仓库数据到远程仓库

git push -u 仓库名称 分支       -u表示将本地分支matser与远程同名分支连接起来

仓库名称:也就是之前链接远程地址时候的仓库名origin(自拟)

分支:有一个默认的主分支master,所以直接写master。项目成员可以建立自己的分支,便于之后代码的合并

若推送失败可以强制推送

git push origin master -f

使用这个语句后,可能会导致远程仓库的数据被覆盖

5.3.1Git分支的作用:

在进行多人协同开发的时候,为了防止互相干扰,提高协同开发的体验

主分支:

在初始化本地仓库的时候,Git默认已经帮我们创建了一个名字叫做master的分支,称为主分支。作用是用来保存和记录整个项目已完成的功能代码,因此不允许程序员直接在master分支上修改代码,容易导致整个项目奔溃,因此需要在自己负责开发的分支上进行开发

功能分支:

由于编程人员不能直接再master分支上进行功能开发,所以就有了功能分支的概念,指的是专门用来开发新功能的分支,它是临时从master分支上分叉出来的,当新功能开发且测试完毕后,再合并到master分支上

5.3.2分支操作

查看分支列表

git branch

分支列表中,前面带有*号的分支,代表是当前分支

创建新分支

git branch 分支名称

切换分支

git checkout 分支名称

创建并切换分支

#-b表示创建新分支

git checkout -b 分支名称

合并分支

git checkout master    #切换到master分支

git merge 分支名称   #通过merge命令,将分支合并到master分支上

删除分支

git branch -d 分支名称

合并分支时遇到冲突

在两个分支中对同一个文件进行了不同的修改,Git就没法完美的合并。此时需要打开产生冲突的文件,手动解决冲突。然后再git add、git commit、git merge

查看有冲突的文件

git diff

冲突的代码出现了

<<<<<<< HEAD 

=======

>>>>>>> branch1

======号表示分割线

<<<<<号到======号之间表示当前分支内容
======号到>>>>>号之间表示分支合并进来的内容
接下来我们就要自己手动整合到一起了,把不需要的删除就好了
 

将本地分支推送到远程仓库

#-u表示链接本地分支和远程分支,所以只需要在第一次push时使用

git push -u 远程仓库的名称  本地分支名称:远程分支名称

例子:

git push -u origin localbranch1:remotebranch1

不是第一次将本地分支推送到远程仓库,则使用以下命令:

#切换到要推送的分支后直接git push就可以将本地分支推送到远程仓库的远程分支

git checkout branch1

git push

查看远程仓库的所有分支列表

git remote show +远程仓库名称

跟踪分支

指的是从远程仓库中,把远程分支下载到本地仓库中

git checkout 远程分支名称

#如果要将下载到本地的本地分支重命名(不重命名的话,默认和远程分支重名

git checkout -b 本地分支名称 远程仓库名称/远程分支名称

#单纯重命名分支

git branch -m oldBranchName newBranchName

拉取远程分支的最新代码

#将远程分支拉取到本地分支

git pull

git pull = git fetch+git merge

删除远程分支

git push 远程仓库名称 --delete 远程分支名称

查看提交记录

git log

git log --graph

git log --graph --pretty=online --abbrev-commit   #查看更详细的信息

分支使用策略:

主分支(默认创建的Master分支)只用来分布重大版本(对于每个版本可以创建不同的标签,以便于查找);
日常开发应该在另一条分支上完成,可以取名为Develop;
临时性分支,用完后最好删除,以免分支混乱。如:
功能(feature)分支
预发布(release)分支
修补bug(bug)分支
多人开发时,每个人还可以分出一个自己专属的分支,当阶段性工作完成后应该合并到上级分支。
分支误删后恢复
使用git log 查出分支的提交号。

git branch 分支名称  提交号

6.git stash 应用场景
我们有时会遇到这样的情况,正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,
但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度(工作区和暂存区)保存起来,
然后切换到另一个分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复
 

7.版本回退

git reset --hard commitID

8.查看已经删除的

log git reflog

9.添加文件至忽略列表,新建.gitignore文件,向其中添加要忽略的文件或者目录

touch .gitignore

10.公钥

生成SSH公钥

ssh-keygen -t rsa

查看公钥

cat ~/.ssh/id_rsa.pub

将公钥添加至远程账户,然后验证公钥是否设置成功

ssh -T git@gitee.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_54881777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值