初始化本地仓库
在本地创建一个空文件
进入文件夹
git init
添加文件到缓存区
在对应目录下
git add 文件
执行到仓库
git commit -m ‘注释说明’
修改文件
未add的情况下
- git status查看当前状态
- 查看修改的具体内容
- git diff
- git diff
- git diff HEAD [HEAD^] —
比较文件不同
- git diff HEAD [HEAD^] —
提交的情况下(想回退版本)
- git reset —hard HEAD^
<^表示上一个~1表示上一个>
如果想回到刚才的那个版本,后悔了
- 查看之前的记录找到版本号commit
- git reset —hard 1094a(写前几位就可以了)
- git reset —hard 1094a(写前几位就可以了)
- 如果关闭了窗口,看不到以前的输出
- git reflog(查看到以前提交的)
- git reflog(查看到以前提交的)
撤回修改
工作区修改,想进行修改撤回
- git checkout — 文件
(撤回工作区,或者暂存区上一次的样子)
添加到暂存区,想撤回到工作区
- git reset HEAD
<当我们用HEAD时,表示最新的版本>
删除工作区文件
确认删除
git rm
再提交git commit -m ‘’
误删除
git checkout — 文件
(撤回工作区,或者暂存区上一次的样子)
连接远程库
- ssh-keygen -t rsa -C “邮箱”
- 登陆GitHub,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key“填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
关联本地库 git remote add origin https://github.com/meimeijun/english.git
<由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。>从现在起,只要本地作了提交,就可以通过命令:
git push origin 分支名称
从远程克隆到本地
- git clone git@github.com:meimeijun/gitskills.git
查看远程库
- git remote
- git remote -v(详细信息)
推送同一个远程分支冲突的时候
(创建本地和远程分支的名称最好一致git checkout -b 分支名称origin/分支名称)
- 把最新的分支抓下来 git pull
- 也失败,是否没有设置之间的连接用 git branch —set-upstream-to=origin/<分支名称> 分支名称
- 再git pull
- 在本地解决冲突以后
- 再推送 git push origin dev
把本地未push的分叉提交历史整理成直线
git rebase
忽略提交
- 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去
- .gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:
https://github.com/github/gitignore 文件里示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa最后一步就是把.gitignore也提交到Git
对于规则里面想强制提交的不想忽略的
- git add -f App.class
- 或者查看某个规则
- git check-ignore -v App.class
修改繁琐的命令
(加上—global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用)
- git config —global alias.st status
- git config —global alias.co checkout
- git config —global alias.ci commit
- git config —global alias.br branch
- git config —global alias.unstage ‘reset HEAD’
- git config —global alias.last ‘log -1’
(Git配置文件都放在.git/config中的[alias]后面)