目录
git branch、git branch -r、git branch -a
查看用户名和邮箱地址
$ git config user.name
$ git config user.email
修改用户名和邮箱地址
$ git config --global user.name "username"
$ git config --global user.email "email"
查看远程库地址
$ git remote -v
git提交代码命令五行
$ git status
$ git pull
$ git add .
$ git commit -m '填写描述'
¥ git push
初始化仓库
$ git init
初始化一个 Git 仓库,它将创建一个 .git 文件夹,后续的操作记录都会在此文件夹里,相当于 Git 的数据库。
git remote add origin 远程仓库地址
将本地仓库和远程仓库关联,origin 是远程仓库的名字,是 Git 的默认叫法。关联之后,我们就可以将本地的提交历史推送到远程仓库,完成和其他人的协同工作了。
本地的git状态
$ git status
显示当前工作目录和暂存区的状态,例如创建了一个文件,此时 git status 就会在 Untracked files 里显示该未追踪的文件,如果将该文件 add 了之后,就会在 Changes to be committed 看到,即已经加到缓存区,等待提交。最后,当我们 commit,就会发现没有任何修改和未提交的文件了。
git log --oneline查看提交的日志信息
git merge <其他分支名>
将其他分支里的提交内容合并到当前分支里
git merge --abort
合并是有可能有冲突的,如果冲突后想放弃合并,可以使用这个命令
git checkout 分支名称
切换到其他分支上
git checkout -b 新分支名称
相当于上面连个命令的合体功能,即创建新分支,然后切换到新分支上。
git branch、git branch -r、git branch -a
分别是查看本地分支、查看远程分支、查看所有分支
git branch -d 分支名称
删除分支,如果该分支没有合并过,则会提示相应错误,如果想要强制删除,可使用 git branch -D
分支名称
git clean -f
删除本地仓库中未跟踪的文件,如果想删除的是目录,使用 -d
git reset
用于重置暂存区的文件与上一次的提交(commit)保持一致,但不会重置工作区的修改,需使用 git checkout <文件名>
命令才能重置工作区的改动。或者使用比较危险的 git reset --hard HEAD
命令,会将工作区和暂存区都重置到上一次版本,包括 commit 信息。
git rm 文件、git rm --cached 文件名
如果只是简单的在工作目录里手动删除文件,则还需要自己将修改添加到暂存区,然后再提交到本地仓库里才完成一次改动版本的记录。git rm 文件
则帮我们在删除的同时,也将修改添加到了暂存区,少了一步的操作。
但有时候我们想保留该文件,以便后续使用,但又想把删除的改动添加到暂存区,此时就可以使用 git rm --cached 文件名
命令来达到此效果了。
git stash 和 git stash pop
如果我们开发到一半,需要重新创建一个新分支去解决线上问题,但此时又不想将当前的分支改动提交到对应分支上,则可以使用 git stash 将修改(包括工作区和暂存区)保存到堆栈中,等新分支处理完毕后,就可以切换到之前的分支,然后使用 git stash pop
恢复缓存的堆栈内容了。
列出当前所有配置
git config --list
分支管理
master分支
- 主分支,用于部署生产环境的分支,确保稳定性。
- master分支一般由develop以及hotfix分支合并,任何情况下都不能直接修改代码。
develop 分支
- develop为开发分支,通常情况下,保存最新完成以及bug修复后的代码。
- 开发新功能时,feature分支都是基于develop分支下创建的。
feature分支
- 开发新功能,基本上以develop为基础创建feature分支。
- 分支命名:feature/ 开头的为特性分支, 命名规则: feature/user_module、 feature/cart_module。
release分支
- release 为预上线分支,发布提测阶段,会release分支代码为基准提测。
hotfix分支
- 分支命名:hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似。
- 线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支。
生成SSH密钥
ssh-keygen -t rsa -C "这里换上你的邮箱"
cd ~/.ssh 里面有一个文件名为id_rsa.pub,把里面的内容复制到git库的我的SSHKEYs中
本地分支和远程分支冲突
git branch --set-upstream-to=origin/分支名称
总结
最后,我们再来回顾下 Git 文件的三个状态:已修改(modified) 和 已暂存(staged)、已提交(committed):
- 已修改表示修改了文件,但还没保存到数据库中。
- 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
- 已提交表示数据已经安全地保存在本地数据库中。