❤️

ARCHAI

Undergraduate / Rookie

Back

Git相关

基本命令

git config --global =>全局配置
git config =>当前仓库配置
mkdir =>创建文件夹
ls =>列出当前目录下(文件,文件夹)
ls -a =>所有all
rm -rf * =>删除当前目录下所有
touch =>新建文件
cat =>查看文件中的内容

不想`git add . 所有?

配置.gitignore 定义忽略提交的文件,其中

  • 所有空行或者以注释符号 开头的行都会被 Git 忽略。
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
  • 可以使用标准的 glob 模式(php)匹配。

从版本库删除

git rm ... =>从版本库中删除,本地也会删除
git rm --cached ... =>只从版本库删除 

从版本库改名

git mv ... ... =>改名

log

git log -p =>显示文件变动信息
git log -1 =>最近一次提交
git log --oneline

修改最新一次提交commit描述

git commit --amend =>最近一次提交的描述

也可以把最新的git add . 方法放到这次commit

撤销add .

git reset HEAD a.php =>文件并未被改变,只是撤销add .

alias命令配置快捷操作

git config --global alias.a add =>在.gitconfig中设置a表示add
atom .gitconfig =>家目录执行即可看到修改后的配置  

关于分支

只有commit后才会有分支!!!

创建分支

git branch ... =>创建分支
git checkout ... =>切换分支
git checkout -b ...=>创建并切换分支

合并分支

git merge ... =>合并分支到master

查看

git branch =>所有分支
git branch --merged =>已经合并的分支
git branch --no--merged =>未合并的

合并产生冲突?conflict??

手动修改冲突的文件,保留想要的内容在冲突文件中即可!然后提交

删除分支

git branch -d ... =>删除已经合并的分支
git branch -D ... =>删除未合并的分支(慎用!写了几天的代码不要了??)

git 标准分支工作流

git标准分支操作工作流

rebase优化分支合并

rebase优化分支合并

git rebase master

说明: 在分支执行rebase,会将当前分支的提交紧接到master之后,然后merge,就相当于合并分支的第一种情况

区别:

不使用rebase

使用rebase

暂存区

当前分支还未commit不允许跳转到其他分支!可以生成暂存区解决

git stash =>生成暂存区
git stash list => 暂存区列表
git stash apply... => 恢复暂存区(不填后面标识默认为恢复第0个(stash${0}))
git stash drop ... =>删除暂存区
git stash pop =>恢复并删除

标签

只有稳定代码才有资格打标签!

git tag =>标签列表
git tag ...=>打标签

生成代码发布压缩包

git archive master --prefix="fin/" --format=zip > fin.zip

解释: 为master分支生成名为fin.zip的压缩包

SSH密钥

使用ssh连接Github发送指令更加安全可靠,也可以免掉每次输入密码的困扰。

在命令行中输入以下代码(windows用户使用 Git Bash)

ssh-keygen -t rsa

一直按回车键直到结束。系统会在~/.ssh 目录中生成 id_rsaid_rsa.pub,即密钥id_rsa和公钥id_rsa.pub。然后向GitHub添加秘钥即可。

Licensed under CC BY-NC-SA 4.0
Archai
Built with Hugo
Theme Stack designed by Jimmy