git命令
![](https://images2018.cnblogs.com/blog/1411044/201808/1411044-20180828195017811-399588190.jpg)
首先需要明白git是分布式提交, 先提交到本地然后复制到远程仓库。
常用的:
- init:新建一个Git管理项目。
git add . 添加所有的修改,‘.’是通配符git add 文件名或者文件路径,添加指定的- git reset 将所有git add 的撤销
- git commited 提交到本地仓库
- git revert 回滚到指定的commit的点。
状态和日志
- git status 查看当前的状态,那些文件修改了,那些文件创建还没有add的。
- git log 查看commit历史
和暂存栈相关的
- git stash 将没有commit的部分文件放到暂存栈去,这样从服务器pull文件的时候不会有问题。
- git stash pop 是将暂存栈的东西拿回来
- git stash clear 将暂存栈中的东西清空,要慎用,这样你放在暂存中的修改都将丢失
分支相关
- 创建分支 git branch <分支名>
切换分支 git checkout <分支名>该语句和上一个语句可以和起来用一个语句表示:git checkout -b <分支名> 3. 分支合并比如,如果要将开发中的分支(develop),合并到稳定分支(master),首先切换的master分支:git checkout master。然后执行合并操作:git merge develop。如果有冲突,会提示你,调用git status查看冲突文件。解决冲突,然后调用git add或git rm将解决后的文件暂存。所有冲突解决后,git commit 提交更改。 删除分支执行git branch -d <分支名> 如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>
比较文件差异
直接使用git diff 可以产看当前没有add 的内容修改查看已经add 没有commit 的改动 使用 git diff --cachedgit diff HEAD 是上面两条的合并git diff 版本号码1 版本号码2 src : 比较两个版本号码的src 文件夹的差异
远程仓库互动
- git clone:从远程仓库得到整个项目的拷贝。
- pull:类似与SVN中的update动作,如果你之前clone得到某项目的一份拷贝,用pull可以更新到最新版本。相当于fetch + merge
- push:把本地仓库的这份拷贝push到服务器。
git全局配置
git config --global user.name"your name"git config --global user.email "your_email@xx.com"
演示
伟大的码农说过: 会用git但是不会使用github的全是耍流氓。
我们就通过github演示下上面的用法:
- 到你的github 新建一个仓库,比如 HelloWorld
本地新建一个文件夹HelloWorld(和你的github里的仓库名称一致),进入该文件夹,右键git bash,初始化git,添加文件并提交commit$ git init //初始化git,创建.git文件夹$ git add README.md//建立一个待提交的文件README.md$ echo "hello world!" >> README.md//文件里写点东西,问候下美好的世界$ git commit . -m "first commit" //提交文件,.是当前目录,就是提交所有文件 上传$ git remote add origin https://github.com/yourName/yourRepo.git$ git push -u origin master //可能需要输入用户名密码之类哦origin可以是任意名字哦,是你远程仓库名,当然你可以添加多个哦,push的时候指定一个就可以。后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git文件夹,打开config文件,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
Github也有客户端(mac、windows),用客户端提交更加方便.基本上稍微有点电脑常识和git常识的就能操作。
![](https://images2018.cnblogs.com/blog/1085295/201808/1085295-20180829090426592-492329998.png)
使用命令行上传本地代码到GitHub
![](https://images2018.cnblogs.com/blog/1411044/201808/1411044-20180828195513009-1031449099.png)