一些简单的git命令

来源:互联网 发布:linux shell的expect 编辑:程序博客网 时间:2024/05/16 17:26

一、安装设置

  1. 安装完git后,进行的一些设置:
    ( 为本机的仓库指定用户名和Email地址)
    $ git config –global user.name “Your Name”
    $ git config –global user.email “email@example.com”
  2. 创建版本库:
    (切换到一个合适的空目录下,然后把这个目录变成Git可以管理的仓库)
    $ git init

二、本地仓库操作

  1. 将文件放到git仓库中:
    $ git add file
    $ git commit -m “注释”
    例如:
    $ git add readme.txt
    $ git commit -m “wrote a readme file”

  2. 显示仓库当前状态:
    $ git status

  3. 查看仓库中文件修改了什么内容:
    $ git diff

  4. 显示从最近到最远的提交日志:
    $ git log
    或者:
    $ git log –pretty=oneline

  5. 回退到上一个版本:
    (在Git中,用HEAD表示当前版本,上一个版本就 是HEAD^,上上一个版本就是HEAD^^,往上10个版本写成HEAD~10。)
    $ git reset –hard HEAD^

  6. 回退到上一个版本后,再回到原先的版本:
    $ git reset –hard 版本号
    例如:
    $ git reset –hard 3628164(版本号不必写全,git可以自动查找)

  7. 查看命令历史(可以用于查找忘记的版本号):
    $ git reflog

  8. 撤销修改:
    $ git checkout – file
    例如:
    $ git checkout – test.txt

  9. 删除文件:
    $ git rm file
    $ git commit -m “注释”
    例如:
    $ git rm test.txt
    $ git commit -m “remove test.txt”

三、远程仓库操作

  1. 把本地仓库的内容推送到GitHub仓库:
    a、在本地的learngit仓库下运行命令:
    $ git remote add origin git@github.com:用户名/仓库名.git
    or
    $ git remote add origin https://github.com/用户名/仓库名.git
    b、把本地库的所有内容推送到远程库上:
    $ git push -u origin master

  2. 从远程克隆一个本地库:
    $ git clone git@github.com:用户名/仓库名.git

四、分支管理

  1. 创建dev分支,然后切换到dev分支:
    $ git checkout -b dev

  2. 查看当前分支:
    $ git branch

  3. 切换到master
    $ git checkout master

  4. 把dev分支合并到master分支上:
    $ git merge dev

  5. 删除dev分支:
    $ git branch -d dev

  6. 查看分支合并图:
    $git log –graph
    例如:
    $ git log –graph –pretty=oneline –abbrev-commit

  7. 合并dev分支时强制禁用Fast forward模式(删除分支后,不会丢掉分支信息):
    $ git merge –no-ff -m “merge with no-ff” dev

  8. 保存工作现场:
    $ git stash

  9. 恢复工作现场:
    $ git stash apply (恢复后stash内容并不删除)
    $ git stash drop (删除stash内容)
    or
    $ git stash pop(恢复的同删除stash内容)

  10. 多个stash的恢复工作现场:
    $ git stash list(查看stash列表)
    $ git stash apply stash@{0}

  11. 没有合并的分支强制删除:
    $ git branch -D feature

  12. 查看远程库的信息:
    $ git remote
    $ git remote -v(显示更详细的信息)

  13. 推送分支:
    $ git push origin branch-name

  14. 从远程抓取分支:
    $ git pull

  15. 在本地创建和远程分支对应的分支:
    $ git checkout -b branch-name origin/branch-name(本地和远程分支的名称最好一致)

  16. 建立本地分支和远程分支的关联:
    $ git branch –set-upstream branch-name origin/branch-name

五、标签管理

  1. 创建标签v1:
    $ git tag v1

  2. 给已提交的动作添加标签:
    $ git tag v1 1234567(数字是commit id)

  3. 查看标签信息:
    $ git show v1

  4. 创建带有注释说明的标签,用-a指定标签名,-m指定说明文字:
    $ git tag -a v1 -m “注释” 3628164 (数字是commit id)

  5. 通过-s用私钥签名一个标签:
    $ git tag -s v1 -m “注释”

  6. 查看所有标签:
    $ git tag

  7. 删除标签:
    $ git tag -d v1

  8. 推送标签到远程:
    $ git push origin v1

  9. 推送全部尚未推送到远程的本地标签:
    $ git push origin –tags

  10. 标签已经推送到远程,要删除远程标签:
    $ git tag -d v1(先从本地删除)
    $ git push origin :refs/tags/v1(从远程删除)

六、配置别名

  1. 配置别名:
    例如:用st表示status:
    $ git config –global alias.st status
0 0