Git分布式版本控制系统学习及使用

来源:互联网 发布:配电网工程设计软件 编辑:程序博客网 时间:2024/05/17 08:16

前言:Git竟然是Linus花了仅仅两周时间用C开发出来的,膜拜啊!

1. Git常用命令:

1). 设置用户名:    git config --global user.name "用户名"  
2). 设置用户邮箱:          git config --global user.email "用户邮箱"
3). 查看配置:          git config --list  
4). 初始化一个新的Git仓库          a.创建文件夹;          b.在文件中初始化git(创建git仓库)              git init  
5). 向仓库添加、修改文件:        git status :             查看当前文件状况        git diff:               当文件修改后,查看修改内容        git add 文件名:        将文件从工作区域提交到暂存区域        git commit -m "描述"     将文件从暂存区域提交到当前分支
6). 撤销修改            git checkout -- fileName :   把文件在工作区的修改全部撤销,                这里有两种情况:a.文件修改后还没放入暂存区,现在撤销修改就回到和版本库一模一样的状态;                b.文件已经添加到暂存区后,又做了修改,撤销修改就会回到添加到暂存区后的状态        git reset HEAD fileName:  把暂存区的修改撤销掉,重新放回工作区
7). 删除文件:        a.确实要删除文件:            git rm 文件名            git commit -m "描述"        b.文件删错了:            git checkout -- fileName : 从版本库中把误删的文件恢复到最新版本 
8). 查看提交log        git log [--pretty=oneline]:   查看提交历史,以便确定要回退到哪个版本        git reflog :        查看命令历史,以便确定要回到未来的哪个版本
9). 回退到某一版本        git reset --hard commit_id
10). 从远程仓库拉代码:        git clone 仓库地址
11). 提交到git远程仓库        git push
12). 远程项目每次push都需要输入用户名和密码可以如下解决:        vim .git/config        将[remote "origin"]            url="htts://github.com/用户名/仓库名.git            修改为            url="https://用户名:密码@github.com/用户名/仓库名.git"
13). 分支管理         git checkout -b 分支名: 创建并切换到该分支;         相当于: git branch 分支名:     创建分支                git checkout 分支名:    切换分支        git branch :列出所有分支,当前分支前面会标一个*号        git merge 分支名: 合并指定分支到当前分支        git branch -d 分支名:删除指定分支        git merge --no-ff -m "描述" 分支名 : --no-ff表示禁用Fast forward,合并后的历史有分支,                                能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并       用带参数的git log也可以看到分支的合并情况:            git log --graph --pretty=oneline --abbrev-commit            git log --graph : 该命令可以看到分支合并图
14). Bug分支:          git stash:      当前工作现场“储藏”起来,等以后恢复现场后继续工作        git stash list:    查看        恢复:             a. git stash appply :恢复后,stash内容不删除                git stash drop:删除             b. git stash pop:  恢复的同时把stash内容也删除;
15). Feature分支:         分支在未merge之前强行删除:                git branch -D 分支名;
16). 多人协作:          当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,        并且远程仓库的默认名称是origin;本地新建的分支如果不推送到远程,对其他人就是不可见的        <推送分支>        git remote [-v] :查看远程库信息        git push origin <branchName>:  推送分支到远程库对应的分支上        哪些分支需要推送,哪些不需要呢?            master分支是主分支,因此要时刻与远程同步;            dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;        <抓取分支>        从远程库clone时,默认情况下只能看到本地的master分支,要在dev分支上开发,就必须创建远程origin的dev分支到本地:         git checkout -b branchName origin/branchName        <合并冲突>        git pull把最新的提交从origin/dev抓下来,在本地合并,解决冲突,再推送:        git branch --set-upstream branchName origin/branchName :建立本地分支和远程分支的关联
17). 标签管理:            创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除        git tag <nam> [commit_id]: 默认标签是打在最新提交的commit上,        git tag :                  查看所有标签        git show <tagname>:        查看标签信息        git tag -a <tagname> -m  "des" commit_id: 创建带有说明的标签,用-a指定标签名,-m指定说明文字        git tag -d <tagname>: 删除标签        git push origin <tagname>: 推送某个标签到远程        git push origin --tags: 一次性推送全部尚未推送到远程的本地标签        如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:        先从本地删除 :  git tag -d <tagName>:        然后,从远程删除: git push origin :refs/tags/<tagName>

2. github建立个人网站:

1. 访问地址: https://用户名.github.io2. 搭建步骤:    1).创建个人站点:        新建仓库:创库名必须是: 用户名.github.io    2). 在仓库下新建index.html文件即可;

3. 学习Git时用到的Linux命令:

rm :移除文件rm -rf 目录名字:             -r 就是向下递归,不管有多少级目录,一并删除            -f 就是直接强行删除,不作任何提示的意思mkdir:创建文件夹;rmdir:删除文件夹 pwd: 显示当前目录ls -ah : 显示当前文件夹中所有文件,包括隐藏文件touch fileName: 创建文件cat fileName:查看文件内容vim fileName:  编辑文件
1 0
原创粉丝点击