git实用

1.安装git

linux上使用sudo apet-get intall git 命令即可

window上从官网上下载安装程序,在开始菜单找到Git Bash,打开,输入命令进行配置

$ git config --global user.name "Your Name"  与GitHub上相同,该名字会显示在提交上
$ git config --global user.email "email@example.com" 同上$ git config --list 查看所有配置

找到一个空目录,使用 git init 命令将当前目录变为git仓库

2.文件提交

创建一个新文件 demo.txt,先将文件添加,在提交

git add demo.txt         
git commit -m "写入你的注释"

3.回退版本

git status  查看当前状态
git diff 查看具体修改什么内容
git log 查看提交历史
git reset --hard 历史版本id,可以是前几位

4.暂缓区

当我们使用add命令,此时会将文件放到一个暂缓区,就是用来存放临时的提交文件,而命令status就是查看的暂缓区的状态,使用提交命令后,暂缓区清空,并将文件提交到当前分支。

diff 命令就是讲工作区和暂缓区进行比较。

5.其他命令

git checkout -- file   用来放弃修改, -- 很重要,表示当前分支,没有的话,就是其他分支了,当删除了文件,也可以进行恢复
git rm file 删除一个文件后,需要使用该命令将工作区里的文件删除,或者使用git add file效果同样
git rebase  rebase操作可以把本地未push的分叉提交历史整理成直线,便于比对

 

6.使用gitHub(git创建项目的俩种方式)

使用命令生成公钥和私钥

终端输入  ssh-keygen -t rsa -C "username" (注:username为你git上的用户名) 必需的 
使用cd ~ 切换到家目录

将本地文件与远端同步:

cd .ssh/.pub 找到以pub结尾的文件,这是公钥,打开将其中字符复制到GitHub中生成公钥
看本地的.git/config设置的仓库url地址和github使用的链接地址是否一致,如use https,则url需要用https的仓库地址
git remote add origin git@github.com:michaelliao/learngit.git
git push -u origin master 第一次向空仓库中推送是,需要使用 -u ,以后就不需要了

从GitHub克隆项目:

使用git clone 地址, 可以是SSH或者是https,克隆好就可以进行提交

7.设置GitHub个人站点

新建仓库,仓库名名:用户名+github.io,新建首页index.html,然后通过https:用户名+github.io/index即可访问首页。首页只能是静态页面。

8.分支管理

在Git里,有个主主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。当我们新创建了一个分支,并切换到了分支上,那么Head就指向当前的分支。进行合并的时候,将master指向当前分支,即可合并。

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

分支冲突:当俩个分支中的内容发生冲突时,此时需要我们手动进行解决。

通过git status可以查看冲突文件。查看冲突文件,有>>> 或 ===或<<<等符号是为了标记不同分支的内容。通过协商,将文件修改为最终内容,在进行提交就可以了。

git log --graph 可以查看分支合并图

当我们在编写某功能时,出现bug,可以创建bug分支来修复bug。

创建分支:修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后创建分支修复bug,修复后合并分支并删除,再git stash pop,回到工作现场。git stash list 可以查看

9.多人协作

远程仓库默认是origin

查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

 

 

10.创建标签

 

命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id

命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;

命令git tag可以查看所有标签

命令git show tagname可以查看该标签下的所有提交

11.自定义git

忽略提交某些文件,可以在根目录下创建文件.gitignore文件添加忽略项。可以参考这个https://github.com/github/gitignore

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值