Git的复制粘贴快捷键
Ctrl+Insert&Shift+Insert
创建版本库(仓库)
创建本地文件夹
$ mkdir floder
floder即为文件夹名称,自己定义即可
定义文件夹为git可管理
$ git init
定义后,这个文件夹就成为版本库(仓库)
提交文件到版本库
将工作区(即是floder)里的文件提交到暂存区
$ git add file
file为要提交的文件名称,后缀名要加上,后文同理
将暂存区里的文件提交到仓库(master分支)
$ git commit -m "XXXXX"
-m后面双引号内容即这次提交的说明,后文同理
修改工作区的文件后
- 查看当前仓库状态(将仓库与工作区进行对比)
$ git diff file
- 查看文件修改了什么
$ git diff file
- 把仓库里的当前版本文件和工作区的文件比较
$ git diff HEAD --file
如果文件没错误,提交到仓库即可
撤销修改
丢弃工作区的修改
$ git checkout -- file
回到上一次提交后的版本
撤回已经提交到暂存区的修改
$ git reset HEAD file
把文件从暂存区放回工作区
撤回已经提交到版本库的修改
$ git reset --hard HEAD^
HEAD即为当前版本,HEAD^上一个版本,以此类推
如果想回溯到某一精确版本
$ git log
可查看各个版本的commit_id记录
$ git reset --hard commit-id
回溯到特定版本
查看命令历史
$ git relog
删除文件
删除特定文件
$ rm file
删除后要进行提交步骤
误删文件
$ git checkout -- file
注意:虽然被删除文件会撤回,但是最近一次提交后你修改的内容会丢失
添加到远程库
关联远程库
$ git remote add origin git@github.com:GitHub_id/floder.git
GitHub_id为你GitHub上的ID名字,floder为GitHub上的名字和本地仓库的名字,两者名字要一样
本地内容推送到远程库
$ git push -u origin maste
把master分支推送到远程库,因为是第一次所以才有-u,只要
$ git push origin maste
即可
克隆远程库
$ git clone git@github.com:GitHub_id/floder.git
克隆后会在本地创建一个名为floder的文件夹
分支管理
创建分支
$ git checkout -b branch-name
创建一个分支,并且切换到该分支,名字为branch-name,自定
等同于:
$ git branch branch-name
$ git checkout branch-name
切换分支
$ git checkout branch-name
合并分支
$ git merge branch-name
将分支的工作成果合并到master分支上
分支上提交的文件,也会合并进去
如果分支合并时出现冲突,先手动解决冲突,然后提交,最后合并
如果想看合并信息,
$git log --graph
可以看到合并图$ git merge --no-ff -m "XXXX" branch-name
没有进行Fast forward模式的分支合并,会留有commit描述
删除分支
$ git branch -d branch-name
删除后可以
$git branch
查看分支信息,是否删除推送分支到远程库
$ git push origin branch-name
- 如果推送失败
$ git pull
抓取远程的新提交,现在本地进行合并/解决冲突,再进行推送
如果显示“no tracking information”,则进行关联
本地创建和远程分支对应的分支
$ git checkout -b branch-name origin/branch-name
建立本地分支和远程分支的关联
$ git branch --set-upstream branch-name origin/branch-name
保护当前工作区
保存当前工作区内容
$ git stash
可用
$ git status
查看当前工作区$ git stash list
查看保存的工作区信息清单处理完后,恢复工作区内容
$ git stash apply
只是代表恢复工作区内容,并没有删除之前保存的工作区信息
$ git stash drop
为删除命令$ git stash pop
恢复之前的工作区内容,并且删除之前保存的工作区信息
$ git stash apply stash@{X}
恢复信息ID为X的工作区,ID可以用
$ git stash list
查看
管理标签
创建标签
$ git tag tag-name commit_id
tag-name 为标签名字,自定
查看标签信息
$ git show tag-name
创建带说明的标签
$ git tag -a tag-name -m "XXXXX" commit_id
-a
指定标签名,-m
指定说明删除标签
$ git tag -d tag-name
推送标签到远程库
$ git push origin tag-name
如果要一次性,推送所有标签
$ git push origin --tags
删除远程标签
删除本地标签
$ git tag -d tag-name
删除远程标签
$ git push origin :refs/tags/tag-name
登录GitHub可查看是否删除
推送存在忽略文件的仓库
- 创建”.gitignore”文件
- 文件里面添加要被忽略的推送的文件名,例如:1.txt
- 提交文件到仓库
$ git add -f file
强制添加文件到仓库
$ git check-ignore -v file
检查.gitignore文件规则是否与file文件冲突
部分常用命令
- 打开文件夹
$cd folder
- 输出文件信息(个人感觉类似于printf)
$cat file
- 显示当前所在目录
$pwd
- 查看远程库的信息
$git remote