Git 详细使用教程

一、git安装  

 https://git-scm.com/downloads

二、初次使用Git时,需要Git进行配置

1、鼠标右键单击桌面,打开Git Bash Here

2、配置自己的用户名和邮箱

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

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

3、生成并部署SSH key公钥

ssh-keygen -t rsa -C "xxx@xxx.com"

输入之后,连续按回车键,不需要做任何更改,会生成SSH key,存放在系统默认路径下

4、查看生成的SSH 

keycat ~/.ssh/id_rsa.pub

5、在c:/Users/“你的用户名”/.ssh路径下,找到id_rsa.pub文件,将里面的内容全部复制下来

6、将SSH key添加到gitee账户中(git命令适用于很多平台,其实都是通用的差不多,这些命令不是仅针对于gitee)

     进入gitee中,找到修改资料选项

7、在左边找到SSH公钥选项

标题可以任意起一个(eg:key one),然后将刚复制的内容粘贴到公钥里面,点击确定,就添加完成SSH key了。

三、准备工作已经就绪,准备上传自己的第一个项目

1、在gitee的个人主页,点击来新建项目

2、完成自己对项目的描述,可以选择是否公开这个项目,点击创建就创建好了自己的远程代码仓库,然后可以编辑README.md文件,来对项目进行描述。

3、在要提交的项目文件夹上右键,选择 Git Bash Here

4、在出现的命令框中

git init  --初始化git仓库

git remote add origin 你的项目地址  --项目地址形式为: git@gitee.com:xxx/xxx.git 用来与远程仓库建立联系

5、开始第一次上传你的项目

git add .   --将项目中的所有文件上传

git commit -m '注释内容'   --对上传文件的注释

git push origin master    --正式上传至远程仓库中的master分支上

git push origin master -f    --表示舍弃线上的文件,强制推送(如果出现推送不了,可以试试该命令)

6、在之后你准备上传你的项目之前,最好更新一下gitee上的项目,确保没有和远程仓库的代码有冲突

git pull --rebase origin master   --同步代码

git add .   --将项目中的所有文件上传

git commit -m '注释内容'   --对上传文件的注释

git push origin master   --正式上传至远程仓库中的master分支上

四、下载项目

1、新建一个空目录,

2、在空目录下,鼠标右键选择 Git Bash Here

3、从gitee上把上传的代码下载下来

git clone git@gitee.com:yhcwlkjyxgs01/xunyiwenyao.git

如果你在Git上已经有空的  现有的Git存储库,打算首次上传自己本地的项目到git上,可以试下以下的命令:

git init
git remote add origin '你的项目地址'
git push -u origin --all
git push -u origin --tags

 五、其他

1、本地新建且切换到该分支

git checkout -b branch_name

// 本地新建且切换到该远程分支

git checkout -b binding origin/binding

2、把新建的本地分支 push 到远程

git push origin branch_name:branch_name

3、推送本地分支到远程仓库

git push --set-upstream origin branch_name

4、删除远程分支

git push origin --delete branch_name

5、删除本地分支(-d 是 --delete 的缩写,在使用 --delete 删除分支时,该分支必须完全和它的上游分支 merge 完成。 )

git branch -d branch_name

6、修改本地仓库所关联的远程仓库的地址

 git remote set-url origin 远程仓库的地址

7、清理远程分支(虽然远程分支已经被删除,但是本地仓库还会保留这些分支的缓存)

git remote prune origin

8、保留未提交的代码 & 恢复未提交的代码

// 首先,可以使用以下命令将当前的修改暂存起来

git stash

// 然后,你可以切换到其他分支

git switch other_branch

// 当你完成其他分支上的工作后,切回原来的分支,可以使用以下命令来恢复之前的修改

git stash apply

六、 版本回退

一、单独回退某个文件夹下的所有文件(比如要回退项目下的 src/views/ync/shop/shopSettleInApply/ 下的所有文件到 abcdefg 的这次提交

1、先查看文件夹的历史版本

git log --

其中,-- 是文件夹的路径。这个命令会显示该文件夹的所有提交历史,包括提交的作者、日期和提交信息。例如:

git log src/views/ync/shop/shopSettleInApply/

2、确定回退的目标版本

在查看文件夹的历史版本后,我们需要确定要回退到的目标版本

3、回退。

git checkout <commit_hash> -- src/views/ync/shop/shopSettleInApply/

其中 <commit_hash> 是目标提交的哈希值,可以通过 git log 等命令获取

举个例子,假设要将 src/views/ync/shop/shopSettleInApply/ 目录下的所有文件回退到某个提交 abcdefg

git checkout abcdefg -- src/views/ync/shop/shopSettleInApply/

执行该命令后,src/views/ync/shop/shopSettleInApply/ 目录下的所有文件会被回退到提交 abcdefg 中的版本

请在操作前进行备份,以防数据丢失。

七、合并分支

合并之前将自己分支的代码先提交上去,后面的步骤都是基于这一步的。

1、进入要合并的分支(如开发分支合并到master,则进入master目录)

git checkout master
git pull

2、查看所有分支是否都pull下来了

git branch -a

3、使用merge合并分支

git merge 分支名

// 当合并有问题,想取消合并

git merge --abort

4、查看合并之后的状态

git status

5、有冲突的话,通过IDE解决冲突

6、解决冲突之后,将冲突文件提交暂存区

git add 冲突文件

7、提交merge之后的结果(如果不是使用git commit -m “备注” ,那么git会自动将合并的结果作为备注,提交本地仓库)

git commit

8、本地仓库代码提交远程仓库

git push

9、最后在完成我们开发任务的分支之后,如果没有必要保留的话,可以删除(删除命令在前文中已经有写了,删除本地分支和远程分支)

注意:删除分支时,不能停留在次分支上,不然会删除失败,请切换到本地master分支去删除

八、.gitignore失效问题

.gitignore中文件的修改不被追踪,前提是该文件不在git的缓存区。因此如果有文件名已被写入.gitignore,但是仍然被git追踪纳入提交范围,需要将文件移出缓存区,然后重新移入暂存区,提交一次。操作如下:

// 删除缓存区的所有文件

git rm -r --cached .

// 将所有文件添加到暂存区

git add .

// 重新提交

git commit -m "清除缓存后重新提交"

九、遇到过的坑

1、git 提交代码某个文件夹一直提交不上去

复制项目时,直接拷贝过去的文件夹里面有个 .git 的文件,所以在执行 git status 的时候出现 modified: test (modified content, untracked content) 提示,这个提示存在的原因是 xxx目录里面有一个.git文件夹。就是因为这个.git文件夹导致这个提示。

解决:

一个项目下只能存在一个.git 的隐藏文件,找到其他文件夹中多余的 .git 文件并删除,再重新提交。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值