git的用法步骤讲解
1、创建全局的本地用户名
git config --global user.name "teamemory" git config --global user.email "xx@qq.com"
2、创建公钥
ssh-keygen -t rsa -C "xxx@qq.com" 同时把公钥添加到github的ssh上面
3、克隆远程仓库到本地
git clone https://github.com/teamemory/spider.git
git checkout -b "zj" (克隆下来文件后,然后创建一个分支)
4、将本地代码传到本地仓库
# git rm -r --cached . (清空缓存,这个有时候需要)
git status 这个看更改了哪个文件
git add \* 或者git add . (放到缓存区) 如果只提交某一个文件 git add xxx.vue git commit -m "wrote a readme file"
5、广播到远程仓库
git push origin master (这里的master可以修改为自己的分支)
6、更新
git pull origin zj (从某个分支上面拉下数据)
the end !!
综上,常用的几个git命令如下:
git clone https://github.com/teamemory/spider.git git checkout -b "zj" (克隆下来文件后,然后创建一个分支)
git status 这个看更改了哪个文件
git add * 或者git add . 或者 git add \* (放到缓存区) git commit -m "wrote a readme file"
git push origin master (这里的master可以修改为自己的分支)
git reset --hard HEAD (本地代码回退到线上的最新提交的版本)
git log ----查看提交记录
git reset --hard 随机的gitlog产生的串 -----回退到某个版本
git push origin HEAD --force 回退后,如果要更新远程,需要强推
git reflog ---用来记录你的每一次命令 ,可以回到未来(回退了,但是后悔了)
git remote add origin xxxx (把本地的仓库,和远程的关联)
git checkout . (可以把还未git add 修改内容全部还原到以前未修改的样子)
git checkout -- xxx.txt 将某个文件回退修改(该已经修改的文件还未git add )
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场;(这样的话,不需要切换分支前操作git add \* git commit )
git branch --set-upstream-to=origin/dev dev ( 可以设置git pull 默认的合并当前分支,如果不设置一般编辑器也会提示,按照要求配置即可 )
补充:
如果本地的某个文件不想提交,而线上同样已经保留一份,怎么可以忽略提交某个文件? 方法如下:
git update-index --assume-unchanged py_aucion/settings.py // 红色部分为要忽略提交的文件
git update-index --no-assume-unchanged 文件路径 // 恢复某个文件的跟踪
注意;
.gitignore 只会对未加入版本控制的文件有效,如果你已经加入过了,那这个文件就帮不了你了
查看全部分支 git branch
删除本地分支: git branch -d 分支名
强制删本地: git branch -D 分支名
删除远程分支: git push origin --delete 分支名
其他:
工作区,暂存区,版本库,远程仓库
对于合并代码,理论上,你可以永远将分支推送到远程,那么你合并代码,就使用git pull origin xxx 来合并代码。(相当于 git fetch + git merge)
但是,如果你只是本地切出一个分支开发,并没有推送到远程,那么你合并代码,需要这样处理git merge develop (把develop的代码合并到master)。
所以,git merge 真正合并,但是我用git pull 也可以变相实现。
打标签:
git tag v0.9 f52c633 (给某个提交记录打个标签,作用就是为了更加语义化,没其他作用)
git tag -a v0.1 -m "version 0.1 released" 1094adb (打一个语义化的标签)