-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###基础
git config -- global user. name "xxxxx" #设置提交人 name
git config -- global user. email "xxxxxx@163.com" #设置提交人 email
git config user. name #查询当前的提交人name
git config user. email #查询当前的提交人email
ssh- keygen - t rsa - C "xxxxxx@163.com" #在本地生成一个 RSA 密钥对
git config -- global credential. helper store #避免每次推送都输入密码
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
### commit pull push流程
git init #初始化
git remote add origin [ url] #关联本地代码与远程仓库, url 为 git 地址
git add - A #添加所有文件 git add [ 文件名] #添加指定文件
git commit - m "first upload" #修改说明
git pull -- rebase origin master #拉取( 第一次)
git pull #拉取
git push - u origin master #推送( 第一次)
git push #推送
git push - f #强制推送
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###分支操作
git branch - a #展示所有分支
q #退出分支列表
git checkout [ 分支] #切换到某个分支
git merge [ 某分支] #将某分支合并到本分支
git branch - d master #删除名为 master 的本地分支
git checkout - b master origin/ master #拉取远程分支 master 到本地分支
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###合并分支流程
git branch - a #确认当前分支( 高亮)
git checkout master #切换到本地 master 分支上
git pull origin master #把远程 master 代码 pull 下来
git merge dev #把 dev 分支代码合并到本地 master 上
git status #查看状态
git push origin master #提交
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###回退版本
git reset HEAD^ #回退所有内容到上一个版本
git reset HEAD^ [ 文件名] #回退文件的版本到上一个版本
git reset [ 版本号] #回退到指定版本git reset –hard HEAD~ x #回退前 x 个版本
git reset –hard [ 版本号] #回退到某个版本回退点之前的所有信息。
git reset -- hard origin/ master #将本地的状态回退到和远程的一样
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###其它
gitk #打开一个 git 自带的历史记录可视化工具
git config -- get remote. origin. url #获取当前 Git 仓库关联的远程仓库的 URL
git status #查看状态
git rm - r -- cached #清理缓存
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###获取代码到指定路径git clone [ url] [ LocalPath] # url 为 git 地址, LocalPath 是代码要存在本机的位置
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
###注意事项
1.
在本地修改与远程代码无冲突的情况下,优先使用 pull-> commit-> push
在本地修改与远程代码有冲突的情况下,优先使用 commit-> pull-> push
2.
在 git init 后使用 touch . gitignore 创建一个 . gitignore 文件,
用于设置 Git 忽略的文件或目录的规则,例如:
# 忽略所有的 . log 文件
* . log
# 忽略 node_modules 文件夹
node_modules
# 忽略所有 . txt 文件,但跟踪 foo. txt
* . txt
! foo. txt
3.
如果某些文件已经被纳入了版本管理中:
( 1 ) 、git rm - r -- cached .
( 2 ) 、将不需要上传git的文件添加到. gitignore
( 3 ) 、将所有文件再add commit push上去