Git 学习笔记

Linux上Git配置文件的位置

/etc/gitconfig:所有用户适用

~/gitconfig:当前用户适用

.git/gitconfig:当前仓库适用

低级别配置将覆盖高级别的相同配置。

Git的三棵树

Git有三棵树:本地工作区(Working Tree),暂存区(Index),本地库(HEAD)。暂存区可不仅仅是一个缓存区。本地库是不会删除的。

删除远程库中所有提交记录

删除 .git 文件夹可能会导致 Git 存储库中的问题。如果要删除所有提交历史记录,但将代码保持在当前状态,可以按照以下方式安全地执行此操作:

1. 尝试运行 `git checkout --orphan latest_branch`

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

3. 提交更改 `git commit -am "commit message"`

4. 删除分支 `git branch -D master`

5. 将当前分支重命名 `git branch -m master`

6. 最后,强制更新存储库 `git push -f origin master`

git rm 命令解释

假设现在有demo.txt文件,并且已经提交。

1. git rm 删除工作区和暂存区文件

运行 git rm demo.txt 后 使用git status查看:

On branch master

Changes to be committed:

  (use "git restore --staged <file>..." to unstage)

        deleted:    a.txt

解释:本地和暂存区都没有了,等价于先在本地删除文件,并且add。

2. git rm --cached 仅删除暂存区文件

执行 git rm --cached命令后 使用git status查看:

On branch master

Changes to be committed:

  (use "git restore --staged <file>..." to unstage)

        deleted:    demo.txt

Untracked files:

  (use "git add <file>..." to include in what will be committed)

        demo.txt

对第2-4行的解释:

使用该命令将文件从暂存区删除,那么暂存区和本地库的差异体现为 demo.txt删除。

对第5-7行的解释:

暂存区没有了该文件,本地工作区和暂存区相比就多了一个未追踪的文件。

3. 该命令常见用途:删除已经提价到远程仓库的 .idea, .seting 文件/文件夹(项目构建自动生成的)

git rm -r .idea

git commit -m 'remove .idea'

git push origin master

如果想回退版本库,但是不想丢弃本地工作,比如想要重新提交怎么办?

使用git reset HEAD <filename> 既可。该命令会回退版本库,并清空暂存区,但是不改变本地工作区。

Windows凭据

当推动到远程时,例如GitHub,需要输入用户名和密码,第二次就不用再输入,这个不是Git的功能,而是Windows的凭据管理器记住了用户名和密码。如果下次想要切换账户,可以删除此凭据。

使用SSH

有些系统并没有凭据管理,使用http的方式每次都要输入账号密码很麻烦,此时可以使用ssh。使用ssh的缺点是只能一个用户提交,不能像windows凭据那样删除后,就可以重新切换用户提交。

本地生成ssh并添加到github后,本地库需要做以下修改:

使用git remote -v可以查看远程库和url,可以看到还是orgin还是https的方式:

此时可以重新设置origin的地址为 git@github.com:atguigu2018ybuq/huashan.git,也可以新建一个远程库地址为origin_ssh,而不删除https的方式。

注意添加完远程库后,还需要为本地分支设置追踪,否则在push和pull时要手动指定远程仓库地址和远程分支。

pull request 流程

每次在发起新的 Pull Request 时要去拉取最新的源仓库的代码

而不是自己 fork 的那个仓库。

git remote add <shortname 源仓库> <url 源仓库>

git fetch 远程仓库名字

git merge 对应的远程跟踪分支

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值