Git 常用命令汇总
2024-10-18 23:31:32
安装git
1 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2 yum install -y git
3 git config --global user.name "Your Name"
4 git config --global user.email "email@example.com"
5 git config core.filemode false #忽略文件权限
默认git版本为1.7.1无法clone版本库,需要升级git客户端
yum install perl-ExtUtils-MakeMaker package gettext-devel
tar -xzf git-2.4.1.tar.gz
cd git-2.4.1
make configure
./configure
make
make install
身份认证
1,生成本地主机id_rsa.pub公钥,将内容添加到gitlab的SSH keys
2,使用帐户验证 在gitlab创建帐户,添加用户到project member 直接从远程库克隆
git clone git@gitlab.ve.cn:xikai/test.git
git clone http://gitlab.ve.cn/xikai/test.git
提交文件到git版本库
git add file #把文件修改添加到暂存区
git rm #从版本库删除文件
git commit -m "xxxxx" #把暂存区的所有内容提交到当前分支
git status #查看状态
git log #显示版本日志
git reflog #列出所有操作记录
git checkout -- readme.txt #将工作区指定文件回到最近一次git commit或git add时的状态
git reset HEAD readme.txt #将暂存区指定文件重新撤回工作区
储藏
git stash #把当前工作现场"储藏"起来,等以后恢复现场后继续工作(你当前的工作还没有完成提交,当前又必须先去修复bug时,需要将当前工作区“储藏”起来,保持工作区干)
git stash pop #恢复之前"储藏"的工作现场,同时把stash内容也删除
git stash list #查看stash内容
版本回退
git reset --hard HEAD^ #回退到上一个版本
git reset --hard HEAD~100 #回退到上100个版本
git reset --hard 3628164 #回到指定commit ID的版本(commit ID不用写全
分支管理
一个成功的git分支方案:
http://blog.csdn.net/dbzhang800/article/details/6798724
git branch -a #列出所有本地分支及远程分支
git checkout -b develop #创建并切换develop分支
git checkout develop #切换分支
git branch -d myfeature #删除develop本地分支(git branch -D myfeature 强行删除没有被合并的分支)
删除远程库分支
git branch -r -d origin/develop #删除本地对应的remotes/origin/develop
git push origin :develop #将本地空的分支推送到远程指定分支,冒号前面空格不能少
git checkout -b develop origin/develop #创建远程develop分支到本地
git branch --set-upstream branch-name origin/branch-name #建立本地分支和远程分支的关联
合并分支
git merge develop
git merge --no-ff -m "commit message" develop #合并develop分支到当前分支(develop分支文件的内容会覆盖当前的内容)
注:合并分支默认会使用Fast forward "快进模式",当被合并的分支被删除时,会丢掉分支信息; --no-ff禁用快进模式,Git就会在merge时生成一个新的commit 推送拉取
git remote -v #查看远程git服务端地址
git push -u origin master #推送本地当前指定分支到远程服务端 -u第一次推送用于关联本地master分支与远程master分支
git push -u origin develop
git pull origin master #从远程git服务器拉取指定分支数据到本地当前分支
git pull origin develop
git push #推送所有分支
git pull #拉取所有分支
标签管理
git tag #列出所有tag
git tag -a v1.0 -m "v1.0" #为当前分支打标签
git tag v0.9 6224937 #为指定版本打标签
git push origin --tags #推送tags
git pull origin --tags #更新当前分支和tags
git checkout v1.0 #检出指定tag
git show v0.1 #查看tag信息
git tag -d v0.1 #删除本地标签
git push origin :refs/tags/v0.1 #删除远程标签(必须先删除本地标签再push origin)
忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等等,每次git status都会显示“Untracked files ...”,有强迫症的童鞋心里肯定不爽
解决方法:在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,提交.gitignore文件到版本库,Git就会自动忽略.gitignore中的文件
参考文档:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
最新文章
- PHP常用函数、数组方法
- Redis持久化方法对比分析
- C#常用IO流与读写文件
- ACM题目————STL练习之Ananagrams
- DB设计原则(一)字段名定义避免二义性。
- (翻译玩)SQLALchemy backref章节文档
- HTTP POST和GET的区别[转]
- Android Studio常用插件续
- Object-c KVC的使用和举例
- Unreal Engine 4 Radiant UI 插件入门(三)——从蓝图中调用JS
- 精通libGDX游戏开发-RPG实战-欢迎来到RPG的世界
- hdu4148 Length of S(n)
- python简单路由系统
- 设置python爬虫IP代理(urllib/requests模块)
- Redis安装与卸载
- redis学习 (key)键,Python操作redis 键 (二)
- socat管理haproxy以及haproxy调优
- 数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)
- <;<;c专家编程>;>;笔记
- 【修改密码】Linux下修改Mysql的用户(root)的密码