安装Git
配置
安装了git之后,就需要添上门牌号,打开Git Bash
,所以需要进行以下步骤,如果要对特定的一个仓库设置的话,去掉--global
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
生成仓库
git init
把文件添加到仓库里面,进行跟踪管理
git add 文件名.后缀
提交一个版本
git commit -m "这里是注释内容"
掌握仓库状态
输入这个命令,可以看到当前被仓库追踪的文件的改动情况
git status
比较不同
可以比较目前文件内容与上一个版本之间到底有什么不同
git diff 文件名
查看历史记录
git log
回退版本
git reset --hard 版本号
git reflog //就可以查看所有的版本号了
撤销修改
让当前文件回到最近一次git commit
或者git add
的时候,一定注意要有--
git checkout -- readme.md
git reset HEAD 文件名.后缀 //回到最近一次commit处
撤销小结
- 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
*场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
* 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。
# 添加远程仓库
git remote add origin 仓库地址
将本地内容推送到远程仓库
由于远程库是空的,我们第一次推送master分支时,加上了-u
参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push -u origin master //首次
git push origin master // 以后
创建并切换分支
git branch -b 分支名
//相当于
$ git branch 分支名
$ git checkout 分支名
合并
切换回master分支,执行
git merge 分支名
删除分支
git branch -d 分支名
解决冲突
删除完有歧义的地方后,再次执行git add ,便可以继续进行 commit
拉取远程
git pull
多人协作
因此,多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。