您的位置:首页 > 其它

git 基本操作指令

2016-08-01 11:41 246 查看
一、远程提交本地代码到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 提交说明
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: