来天津工作以来一直使用svn管理项目,最近有一段时间没有用git命令,发现好多指令都记不得了, 又翻了下笔记,把git的一些指令总结下,防止自己忘了。
首先需要明白git是分布式提交, 先提交到本地然后复制到远程仓库。
常用的:
- init:新建一个Git管理项目。
- git add . 添加所有的修改,‘.’是通配符
git add 文件名或者文件路径,添加指定的- git reset 将所有git add 的撤销
- git commited 提交到本地仓库
- git revert 回滚到指定的commit的点。
状态和日志
- git statue 查看当前的状态,那些文件修改了,那些文件创建还没有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 –cached
git 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常识的就能操作。
更多精彩请关注微信公众账号likeDev
时间: 2024-10-31 04:54:10