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的主要内容,如果未能解决你的问题,请参考以下文章