Day_04-Git基本命令

Git基本命令

JAVA学习第四天,掌握Git工具,Git Bash,在学习git过程Git教程- 廖雪峰的官方网站以及秦疆老师Git最新教程通俗易懂中总结的git基本命令

一、基本Linux命令

  1. pwd:显示当前目录的详细路径

  2. cd +目录名:切换到该目录

  3. cd … :回到上一级目录

  4. clear:清屏

  5. cat:显示文件内容

  6. ls:显示当前文件中的所有文件(蓝色代表目录,绿色代表应用程序,白色代表文件[md、word、txt等])

  7. touch:新建一个文件

  8. rm:删除(移除)一个文件

  9. mkdir:创建一个目录(文件夹)

  10. rm -r(m和-间有一个空格):删除这个目录

rm -rf / :好像会格式化,在Linux系统不要尝试

  1. mv :移动mv a b,将a移动到b里

  2. reset:重新加载终端,与clear有点类似

  3. history:查看历史命令

  4. exit:退出

二、配置环境命令

  1. git config -l :本地配置
  2. git config --system --list:本地系统配置
  3. git config --global --list:本地用户配置
  4. 设置自己的用户名和邮箱:git config --global
    在这里插入图片描述
git所有的配置文件其实都保存在本地

git相关配置文件:

  • D:\soft\Git\etc中的gitconfig(系统配置文件)
  • C:\Users\LE中的gitconfig(用户配置文件)

三、搭建本地仓库命令

注意勾选显示隐藏项目

  1. git init:初始化命令,生成一个隐藏git
  2. git clone +复制下来的:克隆远程仓库

四、Git文件操作的命令

  1. git status:查看文件的状态,Untracked
  2. git add .:将所有文件添加到暂存区,Staged
  3. git commit -m +“信息内容”:将暂存区中文件移到本地仓库
  4. git diff:查看修改,之后用git add提交暂存,查看状态确定后,git commit -m提交仓库
  5. git log:命令显示从最近到最远的提交日志,加上--pretty=oneline参数更加清楚
  6. git reset --hard HEAD^ :返回上一版本
  7. git reset --hard +“想返回版本的commit id” :回到这一版本
  8. git reflog:用来记录每一次命令,以便于找到未来commit id

五、撤销修改命令

可以根据提示命令进行撤销修改

  1. git checkout – file:撤销工作区的修改
  2. git reset HEAD :撤销在暂存区的修改,之后git checkout – file撤销工作区修改

六、删除文件命令

步骤:

  • 直接在文件管理器中把没用的文件删了,用rm命令删

  • 两个选择:1.确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit 2.删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本,git checkout – file

七、关联本地库与远程库命令

可以看github上提示

git remote add origin https://github.com/自己的github账户名/learn-git.git

git branch -M main

git push -u origin main

删除远程库:1.先用git remote -v查看远程库信息 2.根据名字删除,比如删除origin:git remote rm origin

之后只要做了本地提交,就可以通过git push origin master推送至远程库

克隆:git clone + 复制的

八、分支命令

1、创建与合并分支

创建分支之前当前分支不为空,要不没什么意义

  1. 创建+切换分支:git checkout -b <name>或者git switch -c <name>:相当于以下两条命令

    $ git branch <name>
    $ git checkout <name>或git switch <name>
    
  2. git branch :列出所有分支,当前分支前面会标一个*号

  3. git branch :创建分支

  4. 切换分支:git checkout 或者git switch

  5. 合并某分支到当前分支:git merge <name>

  6. 删除分支:git branch -d <name>

2、解决分支冲突

  1. 创建了多个分支,且每个分支都有新的提交,会导致分支冲突
  2. git merge合并后出现冲突,这时候需手动修改文件显示自己想要内容,之后删除多余分支
  3. git log --graph命令可以看到分支合并图。

3、管理分支策略

  1. 合并分支时用–no-ff参数,表示禁用fast forword,这样合并会创建一个新的commit,所以加上-m参数,把commit描述写进去。
例如:git merge --no-ff -m "merge with no-ff" dev

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

4、Bug 分支

软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

  1. 当想要解决bug,想创建一个新的bug分支时,需要git stash储藏当前工作进度
  2. 储存的工作现场用 git stash list查看
  3. git stash pop :恢复工作现场的同时把stash内容也删了(git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除)
  4. 你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:git stash apply stash@{0}
  5. 在master分支上修复了bug后,在dev分支上修复同样的bug,git cherry-pick+commit id

5、Feature 分支

软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。

  1. 开发一个新feature,最好新建一个分支;

  2. 如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

6、多人协作

  1. 推送分支:该分支上的所有本地提交推送到远程库git push origin +分支名
  2. 抓取分支
    • 从远程库clone时,默认情况下,只能看到本地的master分支
    • 要在dev分支上开发,就必须创建远程origindev分支到本地:git checkout -b dev origin/dev
    • 当我想推送时,推送失败,因为别人的最新提交和我试图推送的提交有冲突
    • 先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突
    • git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置devorigin/dev的链接:git branch --set-upstream branch-name origin/branch-name
    • 这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样。解决后,提交,再push

7、rebase

九、标签命令

tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

  1. 首先,切换到需要打标签的分支上,敲命令git tag <name>就可以打一个新标签(例如git tag v1.0),可以用命令git tag查看所有标签,默认标签是打在最新提交的commit上的

  2. 有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

    方法是找到历史提交的commit id,然后打上就可以了:先用git log,找到想打的,用git tag +标签名 +commit id

  3. 标签不是按时间顺序列出,而是按字母排序的

  4. git show :查看单个标签的详细信息

  5. git tag -a +标签名 + -m +“ 说明文字” +commit id:创建带有说明的标签,用命令git show <tagname>可以看到说明文字

  6. 命令git push origin <tagname>可以推送一个本地标签;

  7. 命令git push origin --tags可以推送全部未推送过的本地标签;

  8. 命令git tag -d <tagname>可以删除一个本地标签;

  9. 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值