更新时间:2022-09-15 18:28:32
ssh-keygen -t rsa -C "sgfoot@xxx.com" -f ~/.ssh/sgfoot-rsa
#-t 选择不同加密方式
#-C 您的邮箱
#-f 存储位置
#~/..ssh 目标下多了两个文件sgfoot-rsa,sgfoot-rsa.pub
ssh-add sgfoot-rsa
#如果报:Could not open a connection to your authentication agent
可以使用ssh-agent bash解决以上错误
#可以使用ssh-add -l查看私钥列表
#可以使用ssh-add -D删除私钥列表
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/sgfoot-rsa
cat sgfoot_rsa.pub
ssh -T git@github.com
git init (对于新建文件夹,第一步需要初始化)
git clone https://localhost/admin.git
git add --all #添加所有文件
git add read.me #添加指定文件
git add . 添加当前目录下的所有文件和子目录
git add -u <省略则当前目录> 所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件
git add -A 所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。
git commit -m “注释语句”
git commit -am “添加注释” #文件之前已经提交过,但这次的改动还没有进stage
git remote add origin https://localhost/admin.git(需要关联的git地址)
#origin 是一个名字
git push origin master
#origin 是远程名称
#master 是分支名称
git push -u origin master #可能需要输入帐号和密码
git status
git diff HEAD -- readme.txt
#HEAD代表当前仓库里的版本号
-- readme.txt是当前工作区的版本
git checkout -- readme.txt
#一定要加-- 不然就是分支的切换了
git log
git log --pretty=oneline
先使用git reflog 查看之前的log
#退回上一个版本,HEAD加一个^,退回上2个就加2个^
git reset --hard HEAD^
git reset --hard HEAD~100 #退回前100个版本
#直接退回指定版本(git log显示的md5字符串,可以是前面5位短的)
git reset --hard 3628164
#实现向未来版本回退
先使用git reflog 查看之前的log
git rest --hard xxxxx
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git clean -n 列出将要删除的目录和文件
git clean -df #d 代表目录, f代表文件
git pull
git branck developer
git checkout developer
git checkout -b dev
#相当上面两个命令
git checkout master
git merge developer
#必须先切换到master分支,然后再合并developer分支到master上
git status
#both modified file 表示这个文件有冲突
#Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
#HEAD下面的内容是当前分支的内容
git add file
git commit -m "解决冲突"
若分支上出现rebase 字符
git rebase --continue
git rebase --abort
#查看整个git解决分支的路线
git log --graph --pretty=oneline --abbrev-commit
#只需要新建.gitignore文件即可.里面填内容
让git st 代替git status
git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
基础命令 | 说明 |
---|---|
git init | 初使一个目录为git项目,会生成一个.git目录 |
git clone url | 克隆远程项目 |
git add file | 添加文件至暂存区 |
git add -u <默认当前目录> | 所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件 |
git add -A <默认当前目录> | 所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。 |
git commit -m “备注不可少” | 提交到仓库 |
git status | 查看当前状态 |
git log —pretty=oneline —abbrev-commit | 列出最短的日志 |
处理命令 | 说明 |
---|---|
git log | 查看提交的日志 |
git reflog | 查看未来和过去的日志 |
git reset HEAD^ | 退回上一个版本 |
git reset HEAD~10 | 退回上10个版本 |
git reset hard [log id] | 退回指定版本 |
git rm file | 删除文件,需要提交 |
分支命令 | 说明 |
---|---|
git branch | 查看所有分支 |
git branch -d 分支名 | 删除分支 |
git branch -D [name] | 强行删除分支 |
git branch -r | 查看远程分支情况 |
git branch -a | 查看所有分支情况 |
git checkout 分支名 | 切换分支 |
git checkout -b 分支名 | 创建分支并切换此分支 |
git merge 需要合并的分支名 | 合并分支 |
git push origin :dev | 删除远程分支dev |
远程仓库命令 | 说明 |
---|---|
git remote add origin url | 添加远程库,origin是名称,url是远程目标 |
git remote | 查看远程库列表 |
git remote -v | 查看远程库详细 |
git push -u origin master | 第一次使用,-u 将本地所有内容推到远程库上 |
git push origin master | 将本地所有内容推到远程库上 |
git push origin dev | 将本地的dev分支推到线上去 |
git pull origin master | 从远程库里拉取资源 |
git checkout -b dev origin/dev | 必须创建远程origin的dev分支到本地 |
git branch —set-upstream branch-name origin/branch-name | 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建 |
标签命令 | 说明 |
---|---|
git tag | 查看标签列表 |
git tag v1.0 | 在当前分支下最新的版本上打了一个v1.0 标签 |
git show v1.0 | 查看标签信息 |
git tag -a v0.1 -m “version 0.1 released” 3628164 | 在指定的logid上打上标签 |
git tag -s v0.2 -m “signed version 0.2 released” fec145a | 用私钥签名一个标签 |
git tag -d v1.0 | 删除v1.0标签 |
git push origin tagname | 推送标签 |
其它命令 | 说明 |
---|---|
git config —global color.ui true | 打上颜色 |