最近老接触git 抽空总结了下,方便别人,方便自己。。
将git 初始化成版本仓库
git init
查看所有文件
ls -a
查看文件追踪状态
git status
将文件进行追踪也就是添加到暂存区
git add 文件名
将暂存区的文件添加到版本库
git commit -m '描述'
配置作者信息
git config --global user.name 名字
git config --global user.email 邮箱
查看git 配置情况
git config --list
查看提交信息(包括提交人、时间等)
git log
精简查看 log
git log --oneline
一次提交多个文件到版本库
首先 将本地工作区文件添加到暂存区
git add .
接着 将暂存区文件添加到版本库中
git commit -m '描述'
直接将工作区的文件添加到版本库
git commit -am '描述'
撤销操作
撤销上次提交并将暂存区文件重新提交(也可以不修改版本库的内容,只是修改版本的描述)
git commit --amend
恢复工作区的内容为暂存区的内容
git checkout -- 文件名
git checkout -- . (恢复所有文件)
恢复暂存区的内容为版本库中的内容
git reset HEAD 文件名
或者 git reset 版本编号 文件名 (恢复为指定版本的文件,而不是最新的版本)
删除操作
工作区和暂存区的文件一起删除
git rm 文件
当我们修改了工作区或者暂存区的内容时候 用 git rm 是无法删除的 要用
git rm --cache 文件 保持工作区不删 暂存区的删除(仅仅删除暂存区)
若要强行删除可用
git rm -f 文件
重命名
重命名工作区文件
mv 旧文件名 新文件名
重命名工作区+暂存区文件
git mv 旧文件名 新文件名
分支
当前分支
git branch
创建分支
git branch 分支名
创建分支并且切换到那个分支
git checkout -b 分支名
切换分支
git checkout 分支名
删除分支
git branch -d dev
改变分支名称
git branch -m 旧分支名 新分支名
合并分支
git merge 其他分支
查看两个版本之间的差异 或者 分支之间的差异
git diff (默认比较工作区与暂存区差异)
git diff --staged (比较暂存区与版本库之间差异)
git diff 版本号 版本号 (比较不同版本之间差异)
存储变更
暂时存储工作区的修改 以便切换分支 (不然工作区的修改了,又没有提交是无法切换分支的)
git stash
之后切换回来了 使用以下命令回复工作区切换之前状态
git stash list (查看本地保存的list 文件)
git stash apply stash@{0} 恢复列表所指代内容号(stash@{0} 内容号)
这个命令同上恢复(不过使用后数据就会从该列表删除)
git satsh pop stash@{1}
删除stash 列表
git stash drop stash@{0}
远程仓库
用http 将代码push 到github
git push 远程连接(网页上有显示) 分支名
或者
git push 远程连接(git@github.com:Jimmy-github/testgit.git) 分支名
从远程仓库获取数据
git init 先初始化文件夹
用ssh 获取
1.先要拥有ssh 公钥. 我电脑密钥存放位置 /Users/zhangtianjie/.ssh/
ssh-keygen 生成一对秘钥 并且用vim 打开复制里面的公钥
git pull ssh连接 分支名
给远程地址取个名字
git remote add 自定义的远程仓库名 git@github.com:Jimmy-github/testgit.git
获取远程仓库别名
git remote -v
搭建自己的私有远程仓库
登录服务器 ssh root@ip地址
创建一个文件夹
cd /var
mkdir git 创建一个git 文件夹
cd git
yum install git 安装git 软件
yum remove git 卸载git 软件
git init --bare 初始化一个git 仓库
push 项目到阿里云私有仓库
git push ssh://root@47.88.158.190/var/git 分支名
将服务器的git 目录仓库 copy 一份到var/www/html 下让外网访问
1. cd /var/www/html
2. git clone ssh://root@47.88.158.190/var/git
之后对服务器git 内容做些修改提交
最后将这些内容推送到 真正的git 版本仓(/var/git)
git push ssh://root@47.88.158.190/var/git 分支名
现在我们对本地电脑的文件也进行修改提交
添加远程仓库并修改远程仓库别名
git remote add origin ssh://root@47.88.158.190/var/git
用这个命令查看
git remote -v
接着获取远程仓库的内容下来 pull
git pull ssh连接 分支名
如果冲突想回退之前的样子
git reset --hard HEAD //强行将版本库工作区和暂存区恢复到之前版本库样子
git reset --mixed HEAD //仅仅将版本库和暂存区中的回退
git reset --soft HEAD //仅仅恢复版本库
ssh 免密登陆
ssh-copy-id root@47.88.158.190 //它可以将本地公钥复制一份到服务器
push 失败,比如本地版本号比远程版本号低,先要
git fetch origin master
比较两个分支之间差异
git diff origin/master
将两套代码进行合并
git merge origin/master
git fetch + git merge =git pull
最后再push
添加想要忽略的文件
创建 .gitignore
在文件里添加忽略的文件
如:
.gitignore
其他文件名
网友评论