Git 全局设置:
git config --global user.name "your name"
git config --global user.email "email address"
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址
然后通过git init命令把这个目录变成Git可以管理的仓库
$ git init //初始化
$ ls -ah //显示.git目录
把文件添加到版本库
编写一个readme.txt,放在learngit目录下(或者子目录)
$ vi readme.txt
Vim 快捷键说明
Esc 退出编辑,跳到命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不退出vi
:wq 保存文件并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
1.把文件添加到暂存区
使用git add file_name 或 git stage file_name
$ git add readme.txt
2.把文件提交到版本库
$ git commit -m "wrote a readme file"
-m后面是本次提交的说明,一次可以提交多个文件
注意:git commit 指定文件的时候会直接提交工作区的文件,不指定文件的时候提交的是缓存区stage的所有文件
$ git commit readme.txt -m "balabala"
Git bash操作文件及文件夹命令
命令示例 用途
cd d:\Github 切换d盘下面的Github目录
cd .. 回退到上一个目录
cd 回退到主目录
pwd 显示当前目录路径
ls(ll) 列出当前目录中的所有文件,ll更详细
ls(ll) -a 列出当前目录中的所有文件包括隐藏目录
touch readme.md 新建一个文件
rm readme.md 删除一个文件
mkdir img 新建一个文件夹img
rm -r img 删除一个文件夹img
mv readme.md img 把当前目录下的目标文件移动到一个指定目录,使用相对路径
reset 清屏,清空git bash 命令窗口中的所有内容
版本退回
git reset --hard commit_id
掌握仓库当前的状态
$ git status
分支管理
创建分支:git checkout -b dev 相当于git branch dev (新建分支)+git checkout dev (切换分支)
查看分支:git branch
合并分支:git merge dev 合并dev到当前分支,fast-forward,快速合并,只是移动了master指针
删除分支:git branch -d dev
查看合并:git log --graph --pretty=oneline --abbrev-commit 感觉这个超级厉害,git log --graph 可以看到分支合并图,--abbrev-commit 可以看到简略的id号(自己测试的)
非快合并:git merge --no-ff -m "messages" dev 由于禁用了快速合并,就会新建一个提交,所以需要-m参数
缓存工作区:git stash
缓存列表:git stash llist
缓存恢复:git stash apply 或者指定git stash apply stash@{0}
缓存删除:git stash drop
缓存出栈:git stash pop
强制删除:git branch -D dev 强制删除未合并的分支时使用
简易的命令行入门教程:
实例--
Git 全局设置:
git config --global user.name "your name"
git config --global user.email "email address"
创建 git 仓库:
mkdir cai
cd cai
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:23yum/cai.git
git push -u origin master
已有仓库?
cd existing_git_repo
git remote add origin git@gitee.com:23yum/cai.git
git push -u origin master
git rm -r --cached解决已提交的文件在.gitignore中加入忽略后无效的问题。
网友评论