Git的学习

版本的回退及跳转

创建一个仓库  git init

在仓库下创建一个文件并且进行编辑 vim test.txt

把文件添加到缓冲区中 git add 文件名    git add . 把所有的文件添加到缓冲区中

然后把文件进行提交 git commit -m "注释"  比如:git commit -m "first commit"

上面是准备工作:

下面开始练习版本回退及跳转

进行三次文件的更改并进行提交 vim test.txt  git add git commit

查看版本: git log    或者  git log --pretty=oneline显示一行

返回上一个版本:git reset --hard HEAD^

返回指定的版本:git reset --hard commit_id

查看历史记录:git reflog

这样就完成了版本的回退及跳转


撤销修改

git checkout -- 文件

把readme.txt文件在工作区的修改全部撤销,这里有两种情况

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态


删除文件

创建一个文件 vim test.txt

rm 文件名

如果创建了一个文件,并且add到了缓冲区,这时候rm了,可以通过git checkout -- 文件名(git checkout -- test.txt)

如果git rm 文件名就会彻底从缓存区进行删除了,那就不能通过git checkout -- 文件名来进行恢复了。


创建远程连接

在本地先实例一个仓库 git init

然后远程连接 git remote add origin [email protected]:Lucidastar/LxlTest.git就可以进行连接了,当然确定你已经配置好了私钥和公钥 然后可以通过git remote -v 查看一下连接的状态


创建分支和合并

创建并切换到这个分支上  git checkout -b 分支名  git checkout -b feture

创建一个分支:git branch 分支名  git branch feture

切换到一个分支:git checkout 分支名  git checkout feture

查看分支:git branch

我们在分支中对文件进行了修改然后add并且commit  然后再切换到主分支上

进行合并:git merge 分支名    git merge feture

git merge命令用于合并指定分支到当前分支

删除分支:git branch -d 分支名  git branch -d feture

(注意:当使用checkout 创建分支并且切换分支时,如果远程有这个分支,会跟踪远程的分支)

如:Branch dev set up to track remote branch dev from origin.

分支dev设置跟踪远程分支dev的来源。


解决冲突

创建一个分支:git checkout -b feture

在分支中修改文件vim 文件名,然后进行add并且commit

在主分支上修改文件vim文件名 ,然后进行add并且commit

在主分支进行合并分支,git merge 分支名  git merge feture

这时候会出现冲突,然后通过vim进行修改冲突,然后再进行add,然后commit

然后合并分支git merge feture,然后删除分支 git merge -d feture

用带参数的git log也可以看到分支的合并情况

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


Git的学习_第1张图片

分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。


下面进行练习:

查看本地分支列表

git branch -a


检出远程的分支

git branch -b dev origin/dev


删除远程分支

git push origin --delete

git push origin :


删除本地分支

git branch -d branchName

git branch -D branchName //强制删除分支


查看远程连接地址

git remote -v


查看远程的所有分支列表

git branch -a


删除远程连接

git remote rm origin


会不断的更新!!!

大家也可以关注我的公众号Lucidastar


Git的学习_第2张图片

你可能感兴趣的:(Git的学习)