文章目录
Git使用记录
文档
Git 官方手册
https://git-scm.com/docs/git
一个写的很好的教程
https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496
告诉Git你的信息
这样Git就能唯一的标识一位用户,在协同开发、版本管理中至关重要!!!
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
一 创建仓库(repository)
在合适的路径下(例如:/d/programming/git
)新建文件夹repository
,改变目录到该文件夹下cd /d/programming/git/repository
。
使用git init
命令建立一个空仓库或初始化一个仓库
$ git init
Initialized empty Git repository in D:\programming\git\repository .git/
1.1 为仓库建立一个说明用的文件
readme.md
建立完毕后,使用git add
命令,将文件添加到仓库中
(这一步就是将文件放到仓库里)
使用git commit
命令,将仓库内的文件提交到Git
(这一步是告诉Git,这个文件交给它管理)
$ git add readme.md
$ git commit -m "new file,readme.md"
[master (root-commit) 1ca2592] new file,readme.md
1 file changed, 3 insertions(+)
create mode 100644 readme.md
二 管理本地仓库
2.1 使用git status 查看仓库信息(状态)
该命令会显示仓库中未git add的文件
以及已经git add但是未git commit的文件
如果仓库内没有新的改动,则会提示
$ git status
On branch master
nothing to commit, working tree clean
2.2 使用git log 查看仓库的日志文件
日志文件会显示所有的操作记录
先显示最近的,后显示最远的
添加参数--pretty=oneline
,查看一行
2.3 在管理中忽略指定的文件
创建.gitgnore
文件,在文件内填入要忽略的文件,例如:
*.sqlite3
*.swp
三 管理远程仓库
3.1 配置SSH登录
ssh-keygen -t rsa -C "youremail@example.com"
Enter file in which to save the key (/c/Users/liula/.ssh/id_rsa): #密钥文件保存的位置
Created directory '/c/Users/liula/.ssh'.
Enter passphrase (empty for no passphrase): #是否要为这个文件设置密码,空意味着不设置
Enter same passphrase again: #再次确认
接下来,在上面提到的路径下,将会有id_rsa
和id_rsa.pub
两个文件,其中id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以交给其他人。
3.2 在Github上配置允许SSH登录
从Github克隆仓库到本地
git clone git@github.com:[仓库路径]
#这个方法使用的是SSH验证,免去了输入密码的麻烦。
git clone https://github.com/[仓库路径]
#这个方法使用的是Http下载,需要验证用户密码。
注意,未指定仓库克隆的位置的话,默认存放在执行命令时的工作路径下(也就是使用pwd
命令后显示的路径)。
before
git clone #复制远程仓库到本地
$ git remote add origin git@github.com:<仓库所在路径>/<你的仓库名>.git #添加远程仓库
$ git push -u origin master #将本地仓库上传到GitHub
$ git checkout -b dev #创建并切换到新分支dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
$ git checkout master
切换到分支master
$ git branch #查看当前分支
$ git merge dev
"""
将分支dev与当前分支合并
git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。 注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
"""
$ git branch -d dev #删除分支dev
git merge --no-ff -m "merge with no-ff" dev --no-ff关闭快速合并模式使用普通模式合并分支dev到当前分支
git log --graph --pretty=oneline --abbrev-commit 查看分支历史
$ git stash 存储当前工作区
$ git stash list 查看存储的工作区列表
$ git stash pop 恢复工作区并删除备份
$ git stash apply stash@{0} 恢复指定工作区
$ git stash apply #恢复工作区但保留备份 可以用命令 $ git stash drop手动删除