git还是不错的,常用命令其实也不多,相关命令常用用就会了,截图我就不贴了,运行命令你就懂了
安装比较容易,安装成功后运行Git Bash设置一下账户,用于验证是否是本人操作
git config --global user.name "your 账户名"
git config --global user.email "你的注册邮箱"
git要弄清几个东西,工作区,暂存区,本地版本库,远程版本库
工作区:未add之前,暂存区:add之后commit之前,本地版本库:commit之后,远程版本库:push推送之后,
详细解释自己找,在git中一切皆修改
mkdir 目录名 创建空目录
cd 目录名 转到目录中
pwd 显示当前目录
git init 将目录变成可管理的仓库,初始化仓库
git add a.txt 将文件添加到暂存区
git commit -m "描述" 提交(不添加是无法提交的)
git status 查看当前信息
git diff a.txt 查看被修改的内容
git log 查看历史记录
git log --pretty=oneline 历史记录简化
git reset --hard HEAD^ 回退到上一个版本
cat a.txt 查看文件内容
git reflog 查看每次命令以及id号
git reset --hard id号 回退到指定版本
git checkout -- a.txt 把工作区文件的现有修改全部撤销
这里的撤销分为、
add后没提交又修改,撤销会是add后的状态
add前撤销,那么工作区会和版本库一样
git reset HEAD a.txt
若文件add后想修改,语句可以将暂存区撤销掉,放回工作区
若已经提交到版本库,那么语句返回上一个版本
git rm a.txt 删除文件(工作区的文件)
1、确定要删除版本库中的文件,删除后commit
2、删除错了,用git checkout -- a.txt恢复到最新版本
远程仓库
git remote add origin git@github.com:你的用户名/mtgg.git 关联远程仓库
mtgg.git是远程版本库
git remote set-url --add origin git@github.com:你的用户名/ticking.git
若要备份,这是一个本地版本库关联两个远程仓库
git push origin master 推送到远程master分支
git push -u origin master 第一次推送并且master会关联起来
克隆
新建版本库 勾选initialize
git clone git@github.com:你的用户名/mtgg.git 克隆到本地
远程仓库设置:创建ssh key
cd ~/.ssh
检查ssh是否存在,如果没有,终端显示如下:No such file or directory
ssh-keygen -t rsa -C "你的邮箱" 生成新的ssh key
成功后按照路径找到id_rsa.pub公开密匙 文件,复制里面的内容,然后登陆github,找到settings——SSH
Keys—Add SSH Key --在key中添加刚刚复制的内容添加即可
ssh -T git@github.com测试是否连接正常,这样就可以推送了
分支
git checkout -b dev 创建dev分支并切换
git branch 查看分支,*表示当前分支
git checkout master 切换到master分支
git merge dev 在另一个分支上合并dev上的更改
git branch -d dev 删除分支
git merge dev 一般会用Fast forward 模式,删除分支会丢掉合并分支信息,可禁用
git merge -no-ff -m "描述" dev 禁用Fast forward合并,这样可以查看合并记录
git log --graph --pretty=oneline --abbrev-commit
查看分支历史
git stash 保存工作现场
git stash list 查看工作现场
git stash apply 恢复工作现场不删除stash
git stash pop 恢复工作现场删除stash
git branch -D dev 强制删除分支dev,没合并前不能普通删除需要强制
git remote -v 查看远程版本库信息
标签
git tag v1.0 打标签(默认打在最新commit上)
git tag 查看所有标签
git tag v1.0 id号 对特定版本打标签
git show v1.0 查看标签详细信息
git tag -a v1.0 -m "说明" id号 创建带有说明的标签
git tag -d v1.0 删除标签
git push origin v1.0 将标签推送到远程
git push origin --tags 将标签全部推送
git tag -d v1.0
git tag origin:refs/tags/v1.0 这两条是将标签从远程删除
git config --global alias.st status 配置别名:将status配置别名st
关于冲突
当A推送了a信息,B再推送a信息会失败,有冲突
解决办法:git pull 抓取最新提交,本地合并,然后推送
若pull失败,因为没有指定分支,
git branch --set-upstream dev origin/dev dev为分支
再pull 若pull成功仍有冲突,常规解决即可,推送前先pull
一般解决办法:推送后有冲突,重新编辑文本,然后add,commit即可
安装比较容易,安装成功后运行Git Bash设置一下账户,用于验证是否是本人操作
git config --global user.name "your 账户名"
git config --global user.email "你的注册邮箱"
git要弄清几个东西,工作区,暂存区,本地版本库,远程版本库
工作区:未add之前,暂存区:add之后commit之前,本地版本库:commit之后,远程版本库:push推送之后,
详细解释自己找,在git中一切皆修改
mkdir 目录名 创建空目录
cd 目录名 转到目录中
pwd 显示当前目录
git init 将目录变成可管理的仓库,初始化仓库
git add a.txt 将文件添加到暂存区
git commit -m "描述" 提交(不添加是无法提交的)
git status 查看当前信息
git diff a.txt 查看被修改的内容
git log 查看历史记录
git log --pretty=oneline 历史记录简化
git reset --hard HEAD^ 回退到上一个版本
cat a.txt 查看文件内容
git reflog 查看每次命令以及id号
git reset --hard id号 回退到指定版本
git checkout -- a.txt 把工作区文件的现有修改全部撤销
这里的撤销分为、
add后没提交又修改,撤销会是add后的状态
add前撤销,那么工作区会和版本库一样
git reset HEAD a.txt
若文件add后想修改,语句可以将暂存区撤销掉,放回工作区
若已经提交到版本库,那么语句返回上一个版本
git rm a.txt 删除文件(工作区的文件)
1、确定要删除版本库中的文件,删除后commit
2、删除错了,用git checkout -- a.txt恢复到最新版本
远程仓库
git remote add origin git@github.com:你的用户名/mtgg.git 关联远程仓库
mtgg.git是远程版本库
git remote set-url --add origin git@github.com:你的用户名/ticking.git
若要备份,这是一个本地版本库关联两个远程仓库
git push origin master 推送到远程master分支
git push -u origin master 第一次推送并且master会关联起来
克隆
新建版本库 勾选initialize
git clone git@github.com:你的用户名/mtgg.git 克隆到本地
远程仓库设置:创建ssh key
cd ~/.ssh
检查ssh是否存在,如果没有,终端显示如下:No such file or directory
ssh-keygen -t rsa -C "你的邮箱" 生成新的ssh key
成功后按照路径找到id_rsa.pub公开密匙 文件,复制里面的内容,然后登陆github,找到settings——SSH
Keys—Add SSH Key --在key中添加刚刚复制的内容添加即可
ssh -T git@github.com测试是否连接正常,这样就可以推送了
分支
git checkout -b dev 创建dev分支并切换
git branch 查看分支,*表示当前分支
git checkout master 切换到master分支
git merge dev 在另一个分支上合并dev上的更改
git branch -d dev 删除分支
git merge dev 一般会用Fast forward 模式,删除分支会丢掉合并分支信息,可禁用
git merge -no-ff -m "描述" dev 禁用Fast forward合并,这样可以查看合并记录
git log --graph --pretty=oneline --abbrev-commit
查看分支历史
git stash 保存工作现场
git stash list 查看工作现场
git stash apply 恢复工作现场不删除stash
git stash pop 恢复工作现场删除stash
git branch -D dev 强制删除分支dev,没合并前不能普通删除需要强制
git remote -v 查看远程版本库信息
标签
git tag v1.0 打标签(默认打在最新commit上)
git tag 查看所有标签
git tag v1.0 id号 对特定版本打标签
git show v1.0 查看标签详细信息
git tag -a v1.0 -m "说明" id号 创建带有说明的标签
git tag -d v1.0 删除标签
git push origin v1.0 将标签推送到远程
git push origin --tags 将标签全部推送
git tag -d v1.0
git tag origin:refs/tags/v1.0 这两条是将标签从远程删除
git config --global alias.st status 配置别名:将status配置别名st
关于冲突
当A推送了a信息,B再推送a信息会失败,有冲突
解决办法:git pull 抓取最新提交,本地合并,然后推送
若pull失败,因为没有指定分支,
git branch --set-upstream dev origin/dev dev为分支
再pull 若pull成功仍有冲突,常规解决即可,推送前先pull
一般解决办法:推送后有冲突,重新编辑文本,然后add,commit即可