设为首页 收藏本站
查看: 736|回复: 0

[经验分享] git 基本操作指令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-2 09:34:30 | 显示全部楼层 |阅读模式
一、远程提交本地代码到github.com上或者提交到远程的服务器上
git remote add origin https://github.com/gong620/testgit.git
git push -u origin master    第一次(远程服务器上没有代码的时候)提交加上-u参数,以后就不用啦

提交分支的代码:
git push origin branch(分支名字)
二、切换到某个工作分支
git checkout 'gong'  或者git checkout master
三、查看当前工作分支
git branch

四、查看git 操作日志
git log
五、添加文件到暂存区
git add filename
六、提交文件到版本库
git commit -m "gong modified gong"    -m"备注提交信息"
七、回退到上一版本
git reset --hard HEAD^
回退到100个版本
git reset --hard HEAD~100
八、查看历史纪录的版本号id
git reflog
九、从远程库中克隆
git clone
十、删除分支
git branch -d name
创建分支:
git branch name
创建并切换分支
git checkout -b name  <<=====>> git branch dev    和  git checkout dev
切换分支:
git checkout branch_name

合并某分支到当前分支:
git merge branch_name
删除远程分支:
git branch -r -d origin/gong    只是删除了本地对远程分支的track
正确的操作:
git push origin :branch-name

十一、git pull
此命令用于获取远程分支中更新。
语法:git pull 远程主机 远程分支:本地分支如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。

十二、将远程版本库的更新,更新到本地库
git fetch origin
如果只更新某个分支,git fetch origin master

十三、恢复删除文件或者彻底从版本库中删除文件
当我们写代码的时候,经常使用rm直接将没用的文件直接删除,尽管这样git也能发现你删除了什么文件,用git status查看,会显示删除了什么文件,切记这时还没有commit提交到版本库中,如果执行了commit,那版本库中就没有了该文件就恢复不了啦;如果没有commit,那就可以用下面的命令恢复回来:
git checkout -- filename
实现一键还原
十四、标签管理
为分支打标签:
git tag  v1.0
查看标签
git tag
如果需要将以前的信息打上标签,或者之前在某个地方忘记打标签啦,可以后补上
git log --pretty=oneline --abbrev-commit
这样可以针对commit id 来打标签
git tag v0.9 6224937
查看标签信息
git show v1.0
给标签加上说明:
git tag -a v0.9 -m "version 1.0 released" 3628164
-a : 指定标签名
-m: 说明文字
删除本地标签:
git tag -d v1.0
将本地标签推送到远程:
git push origin v1.0
一次性推送多个本地标签:
git push origin --tags
删除远程标签:
    1、先删除本地标签:
git tag -d v1.0
    2、删除远程的标签:
git push origin :refs/tags/v0.9

十五、多人协作
当你从远程仓库克隆时,实际上git 自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin
查看远程库的信息:
git remote
显示更详细的信息:
git remote -v
推送分支:
git push origin master
推送其他的分支:eg:dev
git push origin dev

关系:
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步。
bug分支只用于本地修复bug,就没必要推送到远程了.
feature分支是否推到远程 ,取决于自己和开发的小伙伴。

工作模式:
1、首先 ,可以试图用git push origin branch-name推送自己的修改
2、如果推送失败,则因为远程分支也在更新,需要试图合并
3、如果合并有冲突,则解决冲突,并在本地提交
4、没有冲突或者解决掉冲突,再用git push origin branch-name推动成功
十六、Feature分支
进行一个全新的功能时,要先创建一个新的分支
git checkout -b feature-vulcan
切回dev,准备合并:
git checkout dev
如果因为各种原因,想取消此分支:(没有被合并过的分支)
git  branch -D feature-vulcan
十七、bug分支
当你在工作时,临时修复bug:(git提供了一个stash功能,可以把当前工作现场"隐藏"起来,等以后恢复现场后继续工作)
git stash   (要先add添加到工作区,不用commit提交到暂存区)
之后查看工作区:
git status(干净的,可以放心的干活啦)
确定在哪个分支上修复bug
git checkout branch-name(切换分支)
创建分支:
git checkout -b issue-101
修复完bug之后
git add filename
git commit -m “fix bug 101"
切换到master分支,并完成合并,最后删除issue-110bug分支
git checkout  master
git merge --no-ff -m "merged bug fix 101" issue-101
git  branch -d issue-101
切回之前工作分支:
git  checkout dev
git status    查看工作区还是干净的
查看之前的工作现场存到哪里去了?
git stash list
有两种恢复现场的方法:
1、git stash apply,但是恢复后,stash内容并不删除,需要用git stash drop 来删除
2、git stash pop ,恢复的同时把stash内容也删了。*********
十八、--no-ff
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward 合并就看不出来曾经做过合并。
十九、删除远程分支

1、直接删除远程的分支
git push origin --delete  branch-name
2、 推送一个空分支到远程分支
git push origin :<branchName>
二十、删除tag
删除本地tag
1、
git tag -d <tagname>
git push origin :refs/tags/<tagname>
2、
git push origin --delete tag <tagname>


附:
Git基本常用命令如下:
   mkdir:         XX (创建一个空目录 XX指目录名)
   pwd:          显示当前目录的路径。
   git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
   git add XX       把xx文件添加到暂存区去。
   git commit –m “XX”  提交文件 –m 后面的是注释。
   git status        查看仓库状态
   git diff  XX      查看XX文件修改了那些内容
   git log          查看历史记录
   git reset  –hard HEAD^ 或者 git reset  –hard HEAD~ 回退到上一个版本
                        (如果想回退到100个版本,使用git reset –hard HEAD~100 )
   cat XX         查看XX文件内容
   git reflog       查看历史记录的版本号id
   git checkout — XX  把XX文件在工作区的修改全部撤销。
   git rm XX          删除XX文件
   git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
   git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
   git clone https://github.com/tugenhua0707/testgit  从远程库中克隆
   git checkout –b dev  创建dev分支 并切换到dev分支上
   git branch  查看当前所有的分支
   git checkout master 切换回master分支
   git merge dev    在当前的分支上合并dev分支
   git branch –d dev 删除dev分支
   git branch name  创建分支
   git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
   git stash list 查看所有被隐藏的文件列表
   git stash apply 恢复被隐藏的文件,但是内容不删除
   git stash drop 删除文件
   git stash pop 恢复文件的同时 也删除文件
   git remote 查看远程库的信息
   git remote –v 查看远程库的详细信息
   git push origin master  Git会把master分支推送到远程库对应的远程分支上



$ git log --pretty=format:"%h - %an, %ar : %s"
ca82a6d - Scott Chacon, 11 months ago : changed the version number
085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code
a11bef0 - Scott Chacon, 11 months ago : first commit
表 2-1 列出了常用的格式占位符写法及其代表的意义。
选项     说明
%H      提交对象(commit)的完整哈希字串
%h      提交对象的简短哈希字串
%T      树对象(tree)的完整哈希字串
%t      树对象的简短哈希字串
%P      父对象(parent)的完整哈希字串
%p      父对象的简短哈希字串
%an     作者(author)的名字
%ae     作者的电子邮件地址
%ad     作者修订日期(可以用 -date= 选项定制格式)
%ar     作者修订日期,按多久以前的方式显示
%cn     提交者(committer)的名字
%ce     提交者的电子邮件地址
%cd     提交日期
%cr     提交日期,按多久以前的方式显示
%s      提交说明


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251992-1-1.html 上篇帖子: pelican github搭建博客 下篇帖子: Eclipse安装git插件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表