一、Git安装部署
#安装git
yum -y install git
#查看git的版本
git --version
二、Git配置
#git的配置文件为
~/.gitconfig
#查看帮助
git config --help
#常用配置
git config --global user.name "whb" #配置git用户
git config --global user.email "whb@qq.com" #配置git邮箱
git config --global color.ui true #语法高亮,输出显示颜色
#alias 别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global core.editor "mate -w" #设置编辑器使用textmate
git config -l #列举所有配置
git config --list #列出所有配置
三、Git仓库
1.克隆一个项目
git clone path-to-git-repository
2.更新本地仓库到最新改动(例如 master分支)
git pull origin master
3.将现有项目推送到远程
cd test #跳到要提交的目录下
git init #初始化git
git add . #将所有文件加入到索引
git commit -m "标注" #提交到HEAD
git remote add origin <server> #增加到remote。如果是直接克隆的无需这步
git push origin master #推送过去! DONE
4、丢弃本地所有改动与提交,获取服务器上最新版本并将主干分支指向它
git fetch origin
git reset --hard origin/master
四、GIT基本操作(新建、删除、提交、推送、取消、比对、查看、重命名)
1.添加 (本地文件 -> 暂存区)
git add file_name #添加指定文件
git add . #添加新更新和修改的,没有删除
git add -A #更新所有文件
2、删除(本地文件 - > 暂存区)
git rm file_name#从版本控制中删除,并删除磁盘上的文件
git rm --cached file_name#不删除磁盘上的
3、取消添加/ rm(暂存区 - > 本地文件 )
git reset HEAD <file>
4、提交(暂存区- > HEAD)
git commit file_name -m'提交信息'
5、推送改动(HEAD - > 远程git仓库)
git push origin master
6、diff
git diff #diff CurrentDir Stage,查看有哪些需要添加
git diff --cached / - staged #哪些需要提交
7、Log 日志查看
git log #查看日志
git reflog #查看所有历史日志
8、替换掉本地改动(暂存区- > 本地目录)
git checkout - <filename>
9.mv 重命名
git mv old_name new_name #重命名
总结:添加 - >提交 - >推送 - >完成
五、GIT分支操作
1、创建分支
git branch new_br_name #创建
git branch #查看当前有的分支
git checkout new_br_name #切换到新分支
git checkout -b new_br_name #创建并切过去
2、远程分支
git push origin new_br_name #推送分支到远端维护起来
#删除
git push origin:<new_br_name>
或
git push origin --delete <new_br_name>
3、合并分支
git branch#查看当前分支
git checkout master#切换回主干
git merge new_br_name#合并new_br_name分支到主干,自动合并
1.没冲突(没有冲突) - >精 - >提交 - >推送到远程
2.有冲突(冲突) )
git diff#查看当前哪些文件有冲突,标识unmerged
vim xxx#手动编辑解决冲突
冲突文件中标识
<<<<<<< HEAD:file.txt
Hello world#当前branch的
=======
再见#要合并branch的
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
git add xxx#加入
- >解决所有冲突之后 - >提交 - >推送到远程
4、撤销一个合并
git reset --hard HEAD #也可以恢复到指定分支状态
5、删除分支
git branch -d new_br_name#只能删除已经被当前分支合并的分支
git branch -D new_br_name#strong delete
六、GIT标签操作
1.创建删除
创建
git tag tag_name <commit ID> #commit ID可以通过git log来查看
删除
git tag -d tag_name
2.远程标签
推送所有标签
git push --tags
删除
git push origin --delete tag <tag_name>
七、Git创建问题总结
1、忽律指定文件
.gitignore #吧需要忽律的文件写入到这里
git update-index --assume-unchanged PATH_TO_FILE_HERE #忽略已追踪文件的变动
不要误解了 .gitignore 文件的用途,该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。
如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。
2、怎么配置的git结果显示颜色
[color]
#开启着色功能
状态 = auto
diff = auto
branch = auto
interactive = auto
3.克隆 指定的远程分支
如果你渴望只克隆远程仓库的一个指定分支,而不是整个仓库分支,这对你帮助很大。
git init
git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE
git checkout BRANCH_NAME_HERE