@songying
2017-08-30T14:36:14.000000Z
字数 1782
阅读 1329
Git
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@example.com"
设置文件在~/.gitconfig中,该文件可更改。
#创建SSH key
ssh-keygen -t rsa -C"your_email@example.com"
#用手中的私人秘匙与Github进行认证与通信。
ssh -T git@github.com
git config --global color.ui auto
设置文件 ~/.gitconfig。
git init
该命令会生成
.git
目录,该目录里存储着管理当前目录内容所需的仓库数据,该目录称为工作树。
git status
git add filename
git commit -m " some description"
- 用一行文字简述提交的更改内容。
- 空行。
- 记述更改的原因和详细内容。
git commit --amend
#查看以当前状态为终点的历史日志
git log
#查看当前仓库的操作日志
git relog
#以图表的形式输出提交日志
git log --graph
git log 命令可以查看所有产生的 commit 记录
#只显示提交信息的第一行
git log --pretty=short
#只显示指定目录,文件的日志
git log filename
#显示文件的改动:
git log -p filename
#查看文件与暂存区的区别
git diff
#查看工作树与最新提交的差别
git diff HEAD
注意:习惯:在执行
git commit
命令之前先执行git diff HEAD
#显示所有分支
git branch
#查看远程分支列表
git branch -r
#查看当前分支的相关信息
git branch -a
#创建分支
git branch 分支名
#将当前分支切换到其他分支
git checkout 分支名
#创建分支并切换到该分支
git checkout -b 分支名
#切回上一个分支
git checkout -
#切换到主干分支
git checkout master
-a参数: 同时显示本地仓库和远程仓库的分支信息。
- 首先切换到master分支:
git checkout master
- 合并分支:
git merge --no-ff 分支名
参数
--no-ff
: 启动编辑器,录入本次合并的信息。
#删除分支
git branch -d 分支名
#强制删除分支
git branch -D 分支名
#删除远程分支
git push origin :分支名
- 首先,合并分支时会提醒发生了冲突。
- 用文本编辑器打开冲突文件,修改文件。
- 提交结果。
#新建标签
git tag 标签名
#查看历史标签
git tag
#切换标签
git checkout 标签名
#让仓库的HEAD,暂存区,当前工作树回溯到指定状态
git reset --hard 哈希值
git clone git@github.com:---
git clone时,我们会默认处于master分支下,同时,自动将origin设置为该远程仓库的标识符。
如果是clone下来的仓库,那么提交代码时,就更加简单。
git push origin master
#以远程仓库的featrue-D为来源在本地仓库创建 feature-D 分支
git checkout -b feature-D origin/feature-D
#推送非master分支
git push origin 分支名
#将Github上的仓库设置为本地仓库的远程仓库
git remote add origin 仓库路径
这样,Git会将你远程仓库的名称设置为origin。
#推送至master分支
git push -u origin master
-u参数: 将来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从origin的master分支获取内容。
#推送至master以外的分支(首先要切换到切换分支)
git push -u origin 分支名
git pull origin 分支名
git config --global alias.别名 命令参数