GIT使用笔记

git的配置

配置个人的用户名称和电子邮件地址:

git config --global user.name "y....."
git config --global user.email 5........@qq.com

配置credential helper,并使用Http/Https传输

$ git config --global credential.helper store  

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。

如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

创建 git 仓库:

mkdir TestP
cd TestP
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/yzhuar/TestP.git
git push -u origin master

已有仓库

cd existing_git_repoTestP
remote add origin https://gitee.com/yzhuar/TestP.git
git push -u origin master

克隆你的项目到本地

cd d:/test // 去到目标目录
git clone https://git.oschina.net/name/test.git // 克隆整个项目
git clone https://git.oschina.net/name/test.git --recursive // 递归的方式克隆整个项目

克隆指定分支到本地

git clone --single-branch --branch <branch_name> <repository_url> <local_directory>
git clone --single-branch --branch yzhuar https://gitee.com/project-circle/u8g2.git

创建一个不跟踪分支的新分支

git checkout --orphan <分支名>

GIT的版本控制逻辑

当前
同步
暂存
提交
推送

提交强制覆盖远程仓库

git push origin 分支名 --force
eg:
cd 代码目录
git push origin master --force
运行结果:
Total 0 (delta 0), reused 0 (delta 0)
To https://gitee.com/yzhuar/pyGRRTool.git
+ f20ec88…d2128f5 master -> master (forced update)

git强制覆盖本地命令

本地不小心点了编辑,导致部分代码到了推送,但是又不想推送。
所以类似还原了本地代码的版本。如下图:

git fetch --all                 # 取回远程库的所有修改;
git reset --hard origin/develop # 指向远程库origin的develop(可更改成自己想要取的远程分支)
git pull                        # 把远程库拉取到本地库

git fetch --all && git reset --hard origin/decvelop && git pull # 单条执行

git强制覆盖本地命令

本地不小心点了编辑,导致部分代码到了推送,但是又不想推送。
所以类似还原了本地代码的版本。如下图:

git fetch --all                 # 取回远程库的所有修改;
git reset --hard origin/develop # 指向远程库origin的develop(可更改成自己想要取的远程分支)
git pull                        # 把远程库拉取到本地库

git fetch --all && git reset --hard origin/decvelop && git pull # 单条执行

清除 git 所有历史提交记录方案

1.创建新分支 git checkout --orphan latest_branch

使用 --orphan 选项,可创建1个"清洁"分支(无任何的提交历史,但是当前分支的内容一应俱全。但严格意义上说,这样创建的分支还不是一个真正的分支,因为HEAD指向的引用中没有commit值,只有在进行一次提交后,它才算得上真正的分支。

注意:新的分支名可以随意命名,但不能和以前的分支名冲突。这儿特别强调是因为很多人习惯默认将分支名创建为 master.本文以 latest_branch 作为新分支名,这个名称没有任何特殊含义,你可自定义,只要保证和以后的使用一致即可。

2.添加所有文件 git add . 或 git add -A

3.commit代码 git commit -m “自定义提交说明”

4.删除原来的主分支(master) git branch -D master
一般仓库默认的主分支为 master 分支,如果原来的主分支不是 master, 用实际的主分支名代替。

5.把当前分支重命名为master git branch -m master

6.最后把代码推送到远程仓库 git push -f origin master
注意: 有些仓库有 master 分支保护,不允许强制 push,需要在远程仓库项目里暂时把项目保护关掉才能推送。
注意: 推送前 需要使用 git remote -v 查看关联的远程仓库的信息(主要是远程库的别名)。虽然远程库的别名默认是 origin ,但你可能设置过其他的别名(而非 origin).
推送前,有的情况需要设置:git branch --set-upstream-to=origin/master master。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值