git的使用

git的使用


Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro)
在这里插入图片描述

workspace:工作区
index/staged:暂存区
repository:本地仓库
remote:远程仓库
workspace首先是add到index(staged)上,然后commit到repository,再push到remote.

五、两种方式clone服务器上的代码库:
1)https方式

通过填写账号和密码就可以clone代码库
cmd例子: git clone https://xxx.xxx

2)ssh公钥和私钥方式
先在本地制作公钥和私钥.
cmd例:ssh-keygen -t rsa或者是ssh-key -t rsa -C “可以填任何东西文字一般写邮箱,这段文字就在公钥私钥中文本的最后面”
解释:ssh-keygen -t rsa是直接制作公钥和私钥 -t是填写加密的标准rsa 按下三层Enter的键可以看见公钥和私钥放在哪里了
.(一般在C:\Users\Administrator.ssh的文件夹中公钥.pub后缀)

然后在服务器中生成公钥,生成之后,在本地cmd中:git clone git@gitxx.x网址x.git就搞定clone代码库了

命令:
git add . //添加当前目录下所有文件到暂存区(index/staged)
git add file_1 file_2 … 指定添加到index/staged中的文件名

git resore 将不在暂存区的文件撤销更改(在本地工作空间,修改后未做git add)
git restore --staged 将文件从暂存区撤出,但不会撤销文件的更改(修改后,做了git add)

git commit -m “本功能全部完成”
执行完commit后,想撤回commit,怎么办?

git reset --参数 HEAD^

–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

–soft
不删除工作空间改动代码,撤销commit,不撤销git add .

–hard
删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2

如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了

git restore --staged 将文件从暂存区撤出,但不会撤销文件的更改(修改后,做了git add)
git resore 将不在暂存区的文件撤销更改(在本地工作空间,修改后未做git add)

忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db

重点:本地branch、origin branch管理
Git在本地新建分支后,可做远程分支关联。关联目的是,如果在本地分支下进行pull 和push操作时 ,便不需要指定远程的分支。
git在本地新建分支,push到远程服务器上之后,git pull操作时,如果没有关联关系会提示要求up-to-data
所以,git本地新建一个分支后,必须要做远程分支关联.

1、创建本地分支:git branch local_branch_name或 git checkout -b local_branch_name(注: 该操作会直接切换到新分支下)

2、远程分支创建

  1. git push origin local_branch_name:remote_branch_name
    释:此处只是会创建远程分支,并完成推送,但是本地分支并未与该新建远程分支建立关系,可通过git pull发现问题,
    如果想建立联系需要通过命令: git branch --set-upstream-to=origin/<remote_branch_name> localhost_branch_name[可省略默认当前本地分支名].
  2. git push --set-upsteam origin local_branch_name (注意:远程分支名字必须要和当前本地分支名一致,亲测)
    释:此处会创建和分支同名的远程分支名,同时该本地分支会与该处新建的远程分支建立关联关系.
  3. git push -u origin remote_branch_name
    注:此命令需注意:1. 当remote_branch_name不存在,且改远程名字与当前分支名 相同 时,该命令会创建该远程分支,并和本地分支建立关联关系;
    2. 当remote_branch_name不存在,且改远程名字与当前分支名 不相同 时,该命令会报错;
    3. 当remote_branch_name存在, 如果远程名字与当前分支名 相同 时,则建立关联关系;
    如果远程名字与当前分支名 不相同 时,则无变化(待进一步确认),
    3、
    删除本地分支在:git branch -d (branchname)
    删除远程分支:git push origin --delete remote_branch_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值