git_笔记

1 config

1.0 git pull - error:Connection timed out

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890

1.1 显示配置信息

git config -l

1.2 缓存用户名和密码

git config --global credential.helper store

1.3 // 删除当前目录下没有被 track 过的文件和文件夹 

git clean -df

git clean 的用法详解_一定要学_一定要慎用_KEEP RUNNING的博客-优快云博客

1.4 长期存储密码:

git config --global credential.helper store

git config credential.helper store

1.5 查看远程仓库地址

git remote -v

1.7 标签 - tag

创建标签

git tag -a v1.0 -m "Version 1.0 release"

一次性推送所有标签:

git push origin --tags

删除标签

git tag -d v1.0

 删除名为v1.0的远程标签

git push origin --delete v1.0

1.8 分支

# 查看现有标签
git tag

# 基于 0.6_3 创建新分支
git checkout -b new-0.6_4 0.6_3

# 进行修改并提交
# git add .
# git commit -m "Your commit message for 0.6_4 changes"

# 创建新标签
git tag 0.6_4

# 推送新分支和标签到远程仓库
git push origin new-0.6_4
git push origin 0.6_4

 

1.9 Error

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://dl.google.com/linux/chrome/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E88979FB9B30ACF2 W: Failed to fetch https://dl.google.com/linux/chrome/deb/dists/stable/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E88979FB9B30ACF2 

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E88979FB9B30ACF2

1.10 将库中文件打包

git ls-files | tar zcvf files.tar.gz -T -

2 WorkSpace -> Staged (Index)

2.1 撤回add

 git restore --staged file

3 Staged (Index) --> Repository

3.1 撤回commit

git reset --soft HEAD^

4 WorkSpace--> Repository (Local)

4.1 恢复本地修改 

git checkout file

git checkout .

4.2 Git撤销&回滚操作(git reset 和 get revert)

https://blog.youkuaiyun.com/asoar/article/details/84111841

4.3 【Git】pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

git reset --hard

【Git】pull遇到错误:error: Your local changes to the following files would be overwritten by merge:_Metamorphosis-优快云博客

4.4.Reset和 Revert

Reset "master" to this - 去掉commit
Revert change to this commit -- 代码回复到这个提交,但commit没有去掉

5 WorkSpace-->push--> Repository(Remote)

5.1 TortoiseGit 将push内容撤销,重新提交

有时候提交代码并push后,发现修改并不完善或者造成其它情况,有需要将此次push撤销掉。方法如下:

参考这边文章 使用TortoiseGit进行代码回滚和代码合并_bai_Dreamer的博客-优快云博客

如果只需要将最近一次撤销,并重新修改代码提交。

1、先show log

2. 在上一个版本的log上右击选择Reset this to this vision。在弹出的对话框中选择reset Type 为hard。

本地代码就回到上一版本了。(尽管此时在git上看到的代码还存在想撤销的那个提交)

然后进行修改。修改完后,提交代码。

在PUSH的时候,Options中选择 force known changes.

新的提交就会将需要撤销的那次提交覆盖掉了。

6 Branch

6.1 切换branch

git checkout YJ_0,3_linux

6.2 git分支的理解

git分支的理解 - matengfei - 博客园

6.3 分支

6.4 TortoiseGit如何创建分支?push到远端?

https://jingyan.baidu.com/article/59703552282339cfc00740dd.html

6.5 显示分支

git branch

7.GitHub

7.1.上传代码

第一步:建立git仓库 
cd到你的本地项目根目录下,执行git命令
git init

第二步:将项目的所有文件添加到仓库中
git add .
如果想添加某个特定的文件,只需把.换成特定的文件名即可

第三步:将add的文件commit到仓库
git commit -m "注释语句"

图像 小部件第四步:去github上创建自己的Repository

第五步:重点来了,将本地的仓库关联到github上
git remote add origin https://github.com/hanhailong/CustomRatingBar
后面的https链接地址换成你自己的仓库url地址,也就是上面红框中标出来的地址

第六步:上传github之前,要先pull一下,执行如下命令:
git pull origin master

第七步,也就是最后一步,上传代码到github远程仓库
git push -u origin master

7.2. 修改代码:

1、在本地修改相应文件(或者文件新旧替换)

2、git add **/**/文件名    (文件修改路径)

(注意路径要写对)

3、git status         ----查看当前本地文件信息

4、 git commit -m "更改信息备注"

5、git push               --------提交代码到当前分支

(我一般git push 之前会看一下commit状态:git status)

到此Git提交代码就完成啦!

8 工具

8.1 linux -- gitk 

git 图形化操作工具——gitk

8.2 sublime-merge

sudo apt-get install sublime-merge

8.3 常用 Git 命令清单

git 图形化操作工具——gitk | yuweiguo's blog

8.4 Git使用笔记

Git使用笔记_代码改变世界-优快云博客

常用 Git 命令清单 - 阮一峰的网络日志

直接提交修改i文件
$ git commit -am '修改 hello.php 文件'

8.5 GitHub 新手教程

GitHub 新手教程 五,Git GUI 新手教程(2),Clone Existing Repository 克隆代码库_wqMV-优快云博客

Git客户端(TortoiseGit)基本使用详解

Git客户端(TortoiseGit)基本使用详解 - 仅此而已-远方 - 博客园

10 Git push 时如何避免出现 "Merge branch 'master' of ..."

Git push 时如何避免出现 "Merge branch 'master' of ..." - Fururur - 博客园

7.3. 避免出现 -  "Merge branch 'master' of ..."
通过git stash  ---- 通常用这种方法
git stash
git pull
git stash pop

现在Git上出现这样一些信息,为避免这个: 修改后pull,有冲突解决冲突,然后commit,最后push

pull->commit->push

最好commit与push连续完成

11 git 原理

git pull 和 git fetch的区别? - 知乎

pull 根据不同的配置,可等于 fetch + merge 或 fetch + rebase。具体了解可继续读下去。

要理解它们的区别,首先我们需要明白的git的架构,它是分布式的版本管理系统。我画了张图,不仅仅涉及到git fetch和git pull,对整体理解也会很有帮助。如下:

上图展示了git的整体架构,以及和各部分相关的主要命令。先说明下其中涉及的各部分。

工作区(working directory),简言之就是你工作的区域。对于git而言,就是的本地工作目录。工作区的内容会包含提交到暂存区和版本库(当前提交点)的内容,同时也包含自己的修改内容。

暂存区(stage area, 又称为索引区index),是git中一个非常重要的概念。是我们把修改提交版本库前的一个过渡阶段。查看GIT自带帮助手册的时候,通常以index来表示暂存区。在工作目录下有一个.git的目录,里面有个index文件,存储着关于暂存区的内容。git add命令将工作区内容添加到暂存区。

本地仓库(local repository),版本控制系统的仓库,存在于本地。当执行git commit命令后,会将暂存区内容提交到仓库之中。在工作区下面有.git的目录,这个目录下的内容不属于工作区,里面便是仓库的数据信息,暂存区相关内容也在其中。这里也可以使用merge或rebase将远程仓库副本合并到本地仓库。图中的只有merge,注意这里也可以使用rebase。

远程版本库(remote repository),与本地仓库概念基本一致,不同之处在于一个存在远程,可用于远程协作,一个却是存在于本地。通过push/pull可实现本地与远程的交互;

远程仓库副本,可以理解为存在于本地的远程仓库缓存。如需更新,可通过git fetch/pull命令获取远程仓库内容。使用fech获取时,并未合并到本地仓库,此时可使用git merge实现远程仓库副本与本地仓库的合并。git pull 根据配置的不同,可为git fetch + git merge 或 git fetch + git rebase。rebase和merge的区别可以自己去网上找些资料了解下。

看到这里,不仅清楚了 git fetch 与 git pull。而且我们使用每个命令时,也能清楚的明白此时git做了什么工作。

11.三款 Linux 下的 Git 图形客户端
三款 Linux 下的 Git 图形客户端 - 知乎

12 

详解git pull和git fetch的区别:

详解git pull和git fetch的区别:_马恩光的博客-优快云博客

git fetch和git pull之间的区别

git fetch和git pull之间的区别_怀揣梦想,努力前行-优快云博客

git fetch 和git pull 的差别

git fetch 和git pull 的差别 - 世界因你而小 - 博客园

13 HEAD、master 与 branch

HEAD、master 与 branch - 简书

14 git diff 的简单使用

git diff 的简单使用(比较版本区别) - 暗恋桃埖源 - 博客园

15 git stash 

git stash 是程序员的至宝。老板 biangbiang 甩来一个 case,说这个要下班之前 hot fix,咋办,stash,切到 release 对应的分支,缝缝补补;产品 kuangkuang 砸来一个需求更新,说这个简单,小哥哥帮帮我先做了,咋办,stash 切一个新的 feature 分支,撸袖子干。如果没有 git stash,人生至少要灰暗一半。

git 执拗,如果你手头上的活没提交,它拒绝切换分支的请求 —— 这挺合情合理,因为切换分支(其实就是切换到历史上的某个 commit,如果 git checkout -b 就建立一个 ref 指向当前 HEAD)涉及到工作目录的更新,以及 git 索引的重建,如果当前的工作目录修改了,git 总不能将你辛辛苦苦的成果抹去吧。

所以 git stash 显得格外亲切。它帮你把手头未完成还不好提交(提交必然牵扯 commit-hook,又是运行单元测试又是静态检查的)的活收拢到一个暂存区,等新任务完成了可以再 git stash pop 恢复之前的工作。它的产品机理,像极了 CPU 的 exception,所以说程序员来来回回就那么几出戏,只不过在不同的场景下粉饰一下改头换面上演而已。

16 为Git添加libsecret凭证存储

sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wishfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值