menu linbiwei
account_circle

正在努力加载中QAQ

git基本命令行操作
date_range 2019-04-17 17:40
apps git
local_offer 查看标签
comment 1 条评论
浏览:576

账号配置

git config --global user.name "Your Name"
git config --global user.email "email@example.com"
注:如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

将目录变成git可以管理的仓库(工作区)

git init

添加文件到暂存区

git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件(注:add后面有个点)

git add readme.txt

提交文件到仓库

git commit -m "注释"

抓取

git pull

推送

git push

查看是否有提交(冲突操作)

git status

查看文件修改的内容

git diff 文件名

查看历史记录

git log (显示信息多)
git log --pretty=oneline (显示信息少)

查看当前分支版本号

git rev-parse HEAD

版本回退及查看

git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推
git reset --hard HEAD~100 回退到前100个版本
cat 文件名
git log

恢复版本回退及查看

git reflog (左侧会显示对应的版本号)
git reset --hard 版本号
cat 文件名

撤销添加数据命令

git checkout -- 文件名

同步到Github

git remote add origin git@github.com:yourname/yourname.github.io.git或者 git remote add origin https://github.com/yourname/yourname.github.io.git
git push -u origin master (第一次推送,要添加-u) 之后用 git push origin master 推送

从github上下载到本地

git clone git@github.com:youngxhui/nuc_JavaLab.git 文件夹目录/某个位置 或者 git clone https://github.com/youngxhui/项目名称

创建分支 -b 参数表示创建并切换

git checkout -b dev 相当于 $ git branch dev $ git checkout dev 两步完成

查看分支

git branch -r 查看远程分支
git branch -a 查看所有分支

重命名分支

git branch -m dev tmpdev 将本地dev分支重命名为tmpdev

切换回master分支

git checkout master

把dev分支合并到master

git merge dev
或者 git rebase dev
注:只要你的分支上需要 rebase 的所有 commits 历史还没有被 push 过,就可以安全地使用 git rebase来操作,否则请谨慎操作。

删除分支

删除本地分支
git branch -d dev
删除远程分支
git branch -r -d origin/dev
git push origin :dev
或者git push -d origin dev

合并dev分支禁用fast forward

git merge --no-ff - m "merge with no-ff" dev或者 git rebase --no-ff - m "merge with no-ff"

查看删除的分支信息

git log --graph --pretty=oneline --abbrev-commit

对当前的暂存区和工作区状态进行保存

git stash
git status

列出所有保存的进度列表

git stash list

 恢复工作进度

--index 参数:不仅恢复工作区,还恢复暂存区
git stash pop [–index] [stash_id]
git stash pop 恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。
git stash pop --index 恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop stash@{1}恢复指定的进度到工作区。stash_id是通过git stash list命令得到的
通过git stash pop命令恢复进度后,会删除当前进度。
git stash apply [--index] [<stash_id>] 除了不删除恢复的进度之外,其余和git stash pop 命令一样
git stash drop [<stash_id>] 删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度
git stash clear 删除所有进度

查看远程库信息

git remote 查看远程库的信息
git remote --v 查看远程库的详细信息

标签

git tag v0.1 在当前的HEAD创建标签v0.1
git tag v0.2 -m "version 0.2" 3243236
eg:在编号为3243236的commit上创建标签v0.2,信息为version 0.2
git tag -a 0.1.3 -m "Release version 0.1.3" -a 0.1.3是增加 名为0.1.3的标签
-m 后面跟着的是标签的注释
git push origin master --tags 连同标签一起推送
git push --tags 仅仅推送标签
git fetch origin  --tags 注:执行git fetch后面不加任何参数会获取所有的提交以及标签的更新
git ls-remote --tags 查看远程仓库的标签 注:参数--tags可以简化为-t;--heads会获取远程仓库的分支信息。如果没有任何参数,将获取所有的分支和标签信息
git push origin --delete tag v0.1或者git push origin :refs/tags/v0.1 删除远程标签
git tag -d v0.1 删除本地标签
git tag --list  // 查看已有tag列表
git checkout [tag/branch/commit]  // 切换到指定tag/branch/commit都是此命令

客户端

如果不想用命令行习惯用客户端可以用tortoisegit sourcetree
版权声明:本站文章采用知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!
名称不能为空
email
邮箱不能为空,请填写正确格式
link
网址请用http://或https://开头
message
评论不能为空
支持Markdown和LaTex数学公式
sentiment_very_satisfied

captcha
请输入验证码

    gertys gertys
    gertys
    April 19th, 2019 at 01:03 pmgertys
    keyboard_arrow_down
    April 19th, 2019 at 01:03 pm

    remove_red_eye
    访客
keyboard_arrow_up