git基础教程

在windows下安装git软件,安装完之后打开git-bash
初始配置命令:

git config --global user.name "name"       
git config --global user.email "email address"     

这两条对使用git仓库的本机进行标识,因为我们可能在多台机器使用不同的git仓库。
创建仓库的命令:

mkdir learngit   
cd learngit   
git inial      

git只能追踪文本文件的变化,无法追踪二进制文件的变化。所以我们使用git仓库来存储的程序,md文件等文本类文件,存储图片,doc等二进制文件是无法追踪具体内容的。

查看仓库的状态的命令:

git status     

向仓库中添加提交文件命令:

git add file   
git commit -m "本次提交的说明"     

查看上次修改的地方:

git diff file      

我们查看历史提交记录:

    git log    

我们将已经提交的版本回退到以前的版本的,如何去实现

            git reset --hard HEAD^  ^是前一个版本,^^是前两个版本   

回退到任意的版本使用

git reset --hard commitID     

每次提交都会产生一个提交的commitid,是一个160bit的hash值,使用的是SHA-1 hash算法。

查看之前使用的命令,可以查看之前的commitID

git reflog     

git管理的是修改的内容,因为暂存区的概念存在,如果你不将文件add到暂存区,commit的时候自然不会提交。

可以将修改的内容全部撤销,可以使用下面命令

git checkout -- filename   

有三种场景:
如果你更改了工作区的内容,想要不要这部分内容,可以使用下面命令:

git checkout -- filename   

当你修改了工作区的内容并且上传到暂存区,如何撤销这一个动作

git reset HEAD file     撤销掉缓存区的修改   
git checkout -- file    将工作区的内容修改然进行撤销  

如果你已经进行了commit 的话只能进行版本的回退了

删除文件的操作的话 可以使用

git rm file   
git commit   

关于将你自己的本地库推送到远程的github库
创建SSH KEY

ssh-keygen -t rsa -C "youremail@example.com" 在你的用户主目录下生成RSA公私钥       

要关联一个远程库

git remote add origin git@github.com:username/repo-name.git   

第一次推送master分支所有内容

git push -u origin master   

以后推送到远程库可以使用如下命令

git push origin master     

从远程同步一个库到本地使用的命令

git clone git@github.com:crazyjiang/gitskills.git    

git 分支的创建与合并,分支的创建与切换,分支的合并与删除
git查看分支

git branch    

创建分支

git branch name   

切换分支

    git checkout < name >     

创建+切换分支

git checkout -b < name >    

合并某个分支到当前的分支:

git merge < name >    

删除分支

git branch -d < name >   

当分支合并的时候,如果分支与主分支存在冲突的话,首先解决冲突,再进行合并。
通常,如果合并分支的时候,如果可能,git会采用fast forward模式,在这种模式下, 删除分支后,会丢掉分支的信息。

git merge --no-ff -m "merge with no-ff" dev 表示禁用Fast forward            

一种场景,当你手头的工作还没有完成,需要切换到另一份工作上,此时,你需要先把工作现场冻结一下,使用git stash, 然后切到另一个分支去工作,当你工作完之后,再git stash pop回到工作现场,还原之前的工作场景。

如果要丢弃一个尚未被合并的分支,可以通过下面的命令进行强制删除

git branch -D name      

推送其它的分支的命令

git push origin dev 其实其它分支也未必需要进行推送          

git 多人合作的问题
多人合作,涉及标签管理的问题,commitID跟标签有着紧密的关系,标签默认是对最新一次的commitID打上标签

关于git教程,可以查看官网的中文教程 官网的教程
另外的话,廖雪峰老师的教程非常好,附上链接 廖雪峰老师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值