26. Linux GIT

Posted Meer6767

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了26. Linux GIT相关的知识,希望对你有一定的参考价值。

windows git

下载链接: Msysgit   https://git-scm.com/download/win

1 进入git bash进行第一次配置

  git config --global  user.name "your name"

  git config --global user.email "***.com"

  git config --list 查看配置列表

2 Git 仓库

git init 初始化本地仓库

git add  file 添加文件到暂存区  ---》(git reset HEAD file 恢复文件从暂存区到未暂存区,即清楚git add动作) --》(git checkout -- file 删除修改,discard changes in working directory)

git commit -m "log msg" file 提交文件到本地仓库

git status 查看文件状态

git reset --hard 版本哈希号 (恢复到某个版本)

git rm file (删除文件)

 

远程仓库

 1. 配置SSH keys

登录 https:/github.com -> Settings -> SSH and GPG keys

1) add New SSH key

2) ssh-keygen -t rsa -C "826423614@qq.com"  生成公钥  id_rsa.pub 

3)ssh -T git@github.com 测试是否连接成功

 4) 添加远程仓库 New repository

echo "# git_study" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/Meer6767/git_study.git
git push -u origin master
第一次git push可能需要输入密码和用户名,就是登陆github的用户名密码

克隆仓库
git clone https://github.com/Meer6767/git_study.git

git每次pull或push都要输入用户名和密码解决方法
git config --global credential.helper store
这个命令是在本地生成一个账号密码文件,这样就不用每次都输入了(但是还得输入一次)
 

这个指令对于windows,linux都是通用的!!!
 

可以通过命令

cat ~/.git-credentials

标签管理

 

 

 git checkout tag_name 取得对应tag的代码

tag是对历史提交的一个id的引用,如果理解这句话就明白了tag的含义

使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0

切换到tag历史记录 会使当前指针处在分离头指针状态,这个时候的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b test v0.1.0 这个时候就在这个test分支上进行开发,之后可以切换到主线合并。

注意这时候的test分支的代码很多都是tag版本处的,但是test分支head节点在最前面,这时候切换到主线进行合并,要注意合并后的代码冲突问题,不要让旧代码覆盖了主线的新代码。

git checkout -B
这个命令,可以强制创建新的分支,为什么加-B呢?如果当前仓库中,已经存在一个跟你新建分支同名的分支,那么使用普通的git checkout -b 这个命令,是会报错的,且同名分支无法创建。如果使用-B参数,那么就可以强制创建新的分支,并会覆盖掉原来的分支。

git checkout -B test v0.1.0 强制创建一个基于指定的tag的分支。

 

分支管理

默认有个master分支
git branch branch_name 添加新分支
git branch 列出分支
git checkout branch_name 切换分支
git branch master, git merge branch_name 将分支的代码合并到master里
git branch -d branch_name 删除无用的分支


以上是关于26. Linux GIT的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

使用 Git 来管理 Xcode 中的代码片段

markdown Git代码片段

26. Linux GIT

26个jQuery代码片段使用技巧