git使用和常见命令

先送上一张常见命令表
在这里插入图片描述

1、刚下载安装完git后,初次配置:

// 先设置邮箱和用户名,用于提交的时候验证的
git config --global user.name "xxx" 
git config --global user.email "xxx"

2、准备一个要clone的项目(码云、github、gitlab都可以),比如链接地址为: https://gitee.com/ xxxxxx.git (这个只是示范,不是真实有效的地址)


3、找一个空目录,用于存放代码文件的,在目录中右键,选择git bash。调出命令面板。执行以下语句:

git init  // 初始化一个空仓库
git remote add origin https://gitee.com/ xxxxxx.git  // 关联到远程仓库(这里需要换成自己的项目地址)
git pull origin master  // 获取远程仓库内容  pull就是获取的命令
或 ---------------------------------------------------------------------
git clone https://gitee.com/ xxxxxx.git   // 如果不用上面的语句,也可以直接执行clone命令。效果和上面的命令一样。

如果是clone私有的项目,可能需要你输入帐号密码,输入后会自动把项目下载下来。


4、通常养成一个好的习惯,在下载代码后,新建一个自己的分支,再去修改文件的内容,通常不要直接在master(默认分支)上直接开发。(至于为什么要创建那么多分支进行开发,也不是一两句说的清楚的)

执行以下语句,创建并切换到dev_test分支(注意图中红色圈住的区别,意思就是你当前在哪个分支下)
git checkout -b dev_test

主要红色框圈住的区别
我们也可以试下,创建一个已存在的分支
在这里插入图片描述

// 分支相关命令:
git branch  // 查看分支

git branch dev_test  // 创建一个名为dev_test的分支

git checkout dev_test // 切换到名为dev_test的分支

git checkout -b dev_test // 创建并切换到dev_test的分支(常用)

git merge dev_test 
// 把dev_test的分支合并到当前分支

git branch -d dev_test 删除名为dev_test的分支

git branch -D dev_test  //强行删除一个名为dev_test的分支

5、在分支上(或者在master上)修改好了文件的内容,准备提交到远程仓库。可以通过命令查看修改的内容和状态

git status  // 查看文件状态
//(看到红色的就是已经修改过的文件,而且没添加到仓库中)
// (绿色的代表修改过的文件,已经添加到本地仓库,还没提交到远程仓库)


git add .   // 把所有修改过的文件,把需要提交的文件打包起来
或者执行
git add -A  // 和git add .效果一样


// 这时候在执行git status就会看到文件都变绿色了

git commit -m '本次提交的备注' 
// 刚才的add .只是把所有文件打包起来,git commit 才是提交到本地仓库,-m 后面是本次提交文件的备注

git push origin dev_test
// push 把本地仓库的内容推送到远程仓库 
// origin 这个是默认的
// dev_test  代表dev_test分支,刚才我们是创建了dev_test分支,如果想推送到其他分支,就改成其他分支名称即可

如果不出意外,会成功提交,可以到自己项目那里,找到对应的分支查看是否已经推送上去。

当然意外还是会有的,比如和你一起开发的人,比你早推送了一个版本到远程仓库中,那么你在推送的时候,会报一个错误,提示需要先合并代码(注意只是合并代码,不是合并分支)如:
在这里插入图片描述

如果线上的代码,没有冲突,那么pull下来后,你就可以重新执行git push origin master 命令,把代码提交上去了(通常git会帮我们合并一些代码,并不会造成冲突)。当然还会有冲突的情况(比如2个人同时修改了同一个文件的同一个地方),那么使用pull命令就会变成这样:
在这里插入图片描述
这时候就可以全局搜索一下>>>>>这个代表冲突开始的地方
在这里插入图片描述
解决冲突也很简单,只要保留其中一个地方就可以了。把<<<<开头到 >>>>结尾的地方,改成正确的代码,然后重新执行 git add .git commit -m '备注'git push roigin master 。 重新推送上去就可以了
在这里插入图片描述


6、假设我们开发的dev_test分支测试通过了,需要合并到master分支
那么就执行切换分支的命令,
1)切换到master分支
2)在master分支下 使用 git pull 确保master分支的代码是最新的
3)使用合并分支的命令 git merge dev_test
4)然后在使用git push origin master 推送到远程仓库的master分支上


7、关于git的一些拓展
1)假设修改的文件修改错了。这次并不想提交这个文件

  • 解决方法1:删除该文件,在使用git add .
  • 解决方法2:先使用git add . 然后执行 git resert head 需要撤回的文件名git reset head 需要撤回的文件名
    在这里插入图片描述

2)关于一些一直都不想提交的文件(比如使用vscode的时候,会有一个
.vscode的文件夹,和代码无关,不想提交到远程仓库,可是又不希望每次都剔除)

  • 可以使用默认的一个文件,添加要排除的东西 .gitignore 文件。可能在window下不能直接创建,那就在git bash 中,使用 touch .gitignore 。就会发现多了这么一个类似txt文件。然后在里面添加需要剔除的内容,一行一个
  • 比如:这样就可以一劳永逸,不用每次都担心把额外的文件提交上去了(码云或者其他平台已经有很多gitignore文件模版,在创建项目的时候可以留意下)在这里插入图片描述

3)关于git的其他一些命令

  • 查看文件修改的内容:.git diff 文件名
  • 有时候自己改了很多地方,可是并不像保存,想重新下载一份线上的代码:
	git fetch --all  
	git reset --hard origin/master 
	git pull

  • 临时保存工作区(用的相对较少)
    git stash  //把当前的工作临时存储起来,然后自己切换分支做其他的事情
    git stash list  //查看存储的工作区列表
    git stash pop  //恢复最近的一次工作,并且删除记录(常用)
    git stash apply stash@{id}  //恢复指定id的工作,不过不会删除记录
    git stash drop   //删除

  • 标签
    git tag <name>  为当前分支打一个 name 的标签
    git tag <name> 1586156  为历史提交打标签  1586156为历史提交的一个id号
    git tag    查看标签
    git push origin <tagname>可以推送一个本地标签;
    git push origin --tags可以推送全部未推送过的本地标签;
    git tag -d <tagname>可以删除一个本地标签;
    git push origin :refs/tags/<tagname>可以删除一个远程标签。
    git show <name>   查看这个tag对应的id的信息

  • 版本控制(重点)
git log    // 查看最近提交的版本号
git reset --hard HEAD^   (回退上一个版本,^^回退2个版本)
git reset --hard 315615   // 315615是在git log 中可以看到的
// 回退指定的版本号id(这里的id在git log中可以看到,版本id只需要取前几位数git就能识别出来了)
git reflog   // 记录每一次的命令

  • 记住密码(如果你用的不是ssh的话,每次提交 / clone 代码都要输入帐号密码)
在C盘中的用户对应用户的文件夹下找到
.gitconfig
追加:

[credential]
helper=store

或者终端执行
git config --global credential.helper store
这样就会使用记住密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值