配置user.name/email
git config --global user.name "xx" git config --global user.email xx@example.com #查看配置信息(配置文件路径:C:\Users\userName\.gitconfig) git config --list
生成并配置ssh公钥
ssh-keygen -t rsa -C "xxx@example.com" cat ~/.ssh/id_rsa.pub ssh -T git@gitee.com
初始化
首先git上创建仓库
然后本地生成项目代码
方式一:clone代码到本地工作空间,然后完成后续更新、提交
git clone git@gitee.com:liu_fenghua/git-note.git
方式二:自建项目(此方式在创建仓库时不要选择项目的授权协议和.gitignore 文件)
#工作目录仓库初始化 git init touch README.md git add README.md git commit -m "first commit" #添加远程仓库 git remote add origin git@gitee.com:liu_fenghua/git-note.git #推送所有分支和tags git push -u origin master #附:加上-u参数,Git不但会把本地master分支内容推送到远程的master分支,还会两分支关联起来
日常操作
#常用命令 git status git add * #开始跟踪新文件,或把已跟踪文件放到暂存区,或标记为已解决状态 git commit -m "xx" #提交到本地仓库 git commit -a #把所有已经跟踪过的文件暂存起来一并提交 git push remote-name branch-name #提交到远程仓库 #从远程仓库抓取数据 git pull remote-name branch-name #从原始克隆的远端仓库中抓取数据,且合并到工作目录中的当前分支 git fetch remote-name #注:只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支 /* 附:如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建, * 用命令 git branch --set-upstream-to=<remote-name>/<branch-name> <branch-name> */ #撤销修改 git reset --hard commit_id #已commit提交,本地版本回退(前提:没有推送到远程库) git reset HEAD <file> #已add操作添加进暂存区,撤销 git checkout -- file #已修改,还原
git branch branch-name #创建分支 git checkout branch-name #切换分支 git merge branch-name #合并分支到当前分支(参数--no-ff禁用Fast forward模式,生成新的commit) git checkout -b branch-name [remote-name/branch-name] #创建并跟踪远程分支 git branch -d branch-name #删除分支 git branch #查看当前分支
通知项目管理员抓取代码:git request-pull
##Git鼓励大量使用分支 ##对于每一个git项目,最好依次建立三个分支:master=>dev=>feature git init git add . git commit -m 'first commit' git remote add origin git@gitee.com:userName/xxx.git git push -u origin master #创建并切换至dev分支 git checkout -b dev git push -u dev #创建并切换至feature分支,开始实际开发 git checkout -b feature #dev分支合并feature分支*【每添加一个新功能,最好新建一个feature分支】 git add . git commit -m '提交到dev分支' git checkout dev git merge feature #合并分支(后续还要将dev push到远程仓库) git checkout feature #切换到feature分支上继续开发 #当feature分支崩了的补救方法: git add . git commit -m 'xxx' #在切换分支之前一定要commit一下!否则会出现莫名其妙的问题! git checkout dev git branch -D feature #强制删除崩溃的feature分支 git checkout -b feature #根据dev分支重新生成新的feature分支 /** * master分支是主分支,因此要时刻与远程同步; * dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步; * feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。 * 总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定! */
附参考链接:https://blog.csdn.net/qq_40323256/article/details/108294923
储藏
git stash #储藏变更 git stash list #查看现有储藏 git stash apply stash@{0} #还原储藏 git stash drop #移除储藏 git stash pop
日常主要是pull、commit、push操作,鼓励使用分支
git clone命令 拉的是仓库默认分支
不同电脑有不同的SSH公钥,公钥是与电脑绑定的,与账户无关;账户添加SSH公钥后,即对电脑授权,该电脑就能访问账户下的仓库。
fork+pull request:公开仓库,任何人都能发起pull Request。然后等待管理员验证、合并
团队开发:将账户加入仓库成员,该用户就能直接push代码到仓库上
标签
.gitignore文件--列出要忽略的文件模式
Git服务器部署--了解
参考
- https://gitee.com/help/articles/4105
- http://git.oschina.net/progit/
- https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000