- 下载git for windows 一路next
- mkdir在家目录下新建git文件夹
mkdir git #新建文件夹
cd #回家目录
ll #列出文件
cd git #进入git文件夹
pwd #输出当前目录
- 部署全局用户
git config --global user.email "179254624@qq.com"
git config --global user.name "joseph"
用英文字符
ctrl+l清屏
- 配置部署
subl .gitconfig
sublime百度下载
如出现不能运行参考 用Git Bash从命令行启动Sublime
显示user信息即为成功

- 本地创建库(创建项目systest)
cd git
mkdir systest
cd systest
git init
- 配置项目作者
ls -a #显示隐藏文件
cd systest #进入项目文件夹
subl .gitconfig
得到仓库的默认配置

- 更改本项目的信息
git config user.name "josephxie"
- 克隆其他人的项目
- 复制仓库地址
- 新建一个仓库
主要文件夹下不要有/.git/隐藏文件
- 在git bash中输入
git clone https://github.com/xxx/xxx.git
git clone -b develop .git地址 #clone某个分支
- 删除项目 (谨慎危险)
git rm -rf * #删除所有
- 暂存区不同情况处理
git rm --cached readme.txt #仅删除远程库中的文件,本地库中不变(没有提交过的项目)
git reset HEAD readme.txt #提交过的文件,修改状态撤销
git checkout -- readme.txt #回到最初始状态
touch a.txt
git add 'a,txt'
git rm --cached readme.txt #从暂存区撤销
- 仓库内新建文件
touch readme.txt
- 查询提交仓库
- 查询仓库内状态
cd systest
git status

- 放入暂存区
git add readme.txt #放入暂存区
- 利用sublime创建文件
subl git.py
git status

- 提交仓库
git commit -m "测试学习"

- 提交所有文件
git add .
- 忽略文件
subl .gitignore
打开sublime以后,写入忽略的版本(不再被检测)
*.txt #所有txt文件不提交
*.txt #除了a.txt,其他所有txt都不提交
!a.txt
/vendor #忽略整个文件夹(文件夹中没有文件自动忽略)
/vendor/readme.txt #仅忽略文件夹内某一个文件不提交(不能忽略下面子目录内的文件)
/vendor/**/*.txt #忽略vendor及其子目录内的所有txt文件
- 改名操作
git mv readme.txt readme2.txt
- 查询日志
git log
git log -p #详细信息
git log -p -1 #最近一次提交
git log --name-only #仅看文件的变化
git log --name-status #看文件发生的具体变化(添加修改等)
git log --oneline #极简模式
- 修改日志描述
git commit --amend
进入vim编辑器,点击i进入编辑模式,修改以后,点ESC,按wq保存退出
- 添加别名
git config --global alias.a add #将a设置成add
git a .
cd
subl .gitconfig

- 分支
- 分支的创建
cd
cd git
mkdir systest
cd systest
git init
touch readme.txt
git add .
git commit -m 'first commit'
git branch #显示分支列表
git branch index #建立index分支
git checkout index #切换到index分支
(git checkout -b index #创建并切换分支index)
- 分支的合并和删除
git branch #查看分支
git checkout master #switch master branch
git merge index #merge index to master
git branch -d index #delete index branch
- 查看已经合并后的分支(可能已经干完活)
git branch --merged
- 查看未合并后的分支(没有干完活)
git branch --no-merged
没有合并的分支,不能通过git branch -d index删除,可以通过git branch -D index删除
- 临时切换分支,但是当前修改文件只有add,没有commit的情况
#创建仓库并添加文件a.php
cd
cd git
mkdir systest
cd systest
git init
touch a.php
git add .
git commit -m 'first'
git branch develop
subl a.php #进行文件修改
git add .
git checkout develop #此处提示失败
----
git stash #将a.php放入存储区
git stash list #查看暂存地址
git stash apply #恢复存储区
git stash drop stash@{0} #删除存储区
git stash pop #恢复存储区并删除存储区
- 标签
某一个阶段的总结和发布,不要乱发标签
git tag #标签列表
git tag v1.0 #创建标签
- 发布压缩包
只是生成某个分支的压缩包
git archive master --prefix='systest/' --forma=zip > hdcms.zip
- rebase合理优化分支合并
分支index commit之后,发现master也发生了commit,这时候只能通过master来处理冲突,这是不合理的(并出现合并日志)
此时需要index分支rebase将起始点移动到master最新提交的点,再做合并
git rebase master
git checkout master #切换分支
git branch merge #合并分支
给开源项目提交项目,需要事先rebase
- 链接github
- 19.1 注册GitHub,新建仓库
- 19.2 生成公钥
19.2.1 执行ssh-keygen -t rsa
一路回车
19.2.2 如果没有执行,则先执行$export PATH=/usr/bin:$PATH
设置path
mac 执行命令行 $ssh-keygen -t rsa -C "youremail@example.com"
将邮箱替换成自己的邮箱,如文件夹已经存在,执行yes,重写文件夹
19.2.3 执行subl id_rsa.pub
19.2.4 进入ssh文件夹cd ~/.ssh
19.2.5 复制公钥subl id_rsa.pub
19.2.6 进入github主页,点击头像-setting-SSH and GPG keys 添加公钥
19.2.7 链接成功 使用git push
推送远程,git clone SSH地址
下载克隆
如遇链接失败,可以
cd .ssh
subl known-hosts
删除所有数据
- 主机在本地与远程服务器关联
- 添加远程仓库
git remote add origin +SSH地址
如果切换仓库,先执行
git remote rm origin
- 查看远程仓库
git remote -v
- 推送数据到远程仓库
git push -u origin master
- 远程分支的管理
- 查看远程分支列表
git branch -a
- 如果本地与远程分支不对应执行
git push
会报错,可以执行命令git push --set-upstream origin index
- 新员工如何剪出已存在的分支,并提交自己内容
git clone SSH地址:systest
git pull origin index:index #请求远程把index分支剪入到本地的index分支
git push
git push --set-upstream origin index
- 远程合并到master
git checkout master
git pull #更新master到最新状态
git checkout index
git rebase master #把index起始点移动到当前master
git checkout master
git merge index
git push
git branch merged #查看已经合并的分支
- 删除远程分支
git push origin --delete index
git branch -a #查看分支
git branch -d index
网友评论