【working 持有实际文件】—add—【index 临时保存改动】—commit—【head 指向最近一次提交后的结果】
常用操作
1、git status 查看当前文件的情况,哪些被记录在git中了,哪些文件发生了修改什么的
2、git add *
清除add在缓存里面的内容: git rm -r --cached dirs
查看add内容:git ls-files
3、git commit -a -m '描述文字' 把本地的修改,提交到本地的git备份仓库中
4、git pull origin master 从远程仓库的master 分支拉下来代码,和本地已经提交的代码合并
5、git push origin master 把本地的代码push到远程仓库
!!在从远程pull 代码之前 必须要commit本地的代码,或者是用git checkout xxx.py 把本地的某个代码恢复到远程仓库的样子
!!当出现冲突时,文本中用"<<<<head"字段提示,可以先搜索该字段,然后进行增删,再重新添加和提交文件
创建新仓库
1、创建新文件夹:git init
*设置用户名和邮箱:
git config --global user.name "dzou"
git config --global user.email "dzou@company.com"
检出仓库
2、创建本地仓库克隆版本:git clone /path/to/repository
3、远端服务器上的仓库:git clone username@host:/path/to/repository
添加与提交
4、将改动添加到缓存区:git add <filename> 或 git add *
5、提交改动:git commit -m “代码提交信息”
推送改动
6、将head中的改动提交到远端仓库:git push origin master (master可以替换为任何分支)
7、将仓库连接到某个远程服务器:git remote add origin <server>
分支
8、创建叫做feature_x的分支并切换过去:git checkout -b feature_x
9、切换回主分支:git checkout master
10、把新建的分支删掉:git branch -d feature_x
11、将分支推送到远端仓库:git push origin <branch>
更新与合并
12、将本地仓库更新至最新改动:git pull (获取 & 合并)
13、合并其他分支到当前分支:git merge <branch>
14、查看不同:git diff <source_branch> <target_branch>
标签
15、创建标签:git tag 1.0.0 1b2e1d63ff
16、提交ID:git log
替换本地改动
17、替换本地改动:git check —<filename> (使用head中的最新内容替换工作目录中的文件)
18、丢弃本地改动与提交:git fetch origin
git reset —hard origin/master
git忽略规则.gitignore不生效
解决方法:git rm -r --cached .
撤销本次commit内容
git reset --soft HEAD^