git的详细使用笔记

第一步:上传项目到码云上

1.建立本地git仓库

git init

2.将本地项目工作区的所有文件添加到暂存区

git add .

.表示所有文件

如果想添加项目中的指定文件那就把.改为指定文件名即可,执行后可以用git status来查看是否所有文件都已经上传到暂存区

1.如果有红色表示部分未上传,可以单个文件上传

2.如果全是绿色表示上传成功

3.将暂存区的文件提交到本地仓库

git commit -m ""

冒号里面写注释语句

4.在码云上创建自己的项目,得到远程仓库的地址

5.将本地仓库关联到码云上

git remote add origin https://gitee.com/feitiandexiaochengxuyuan/GitFenzhi.git

在这一步时如果出现错误:fatal:remote origin already exists 意思是路径存在了,就需要删除原来的路径从新添加

那就先输入  git remote rm origin

再输入   git remote add origin https://gitee.com/feitiandexiaochengxuyuan/GitFenzhi.git 就不会报错了。

6.本地仓库上传到远程仓库

git push -u origin master

如果报failed to push some refs to git 错误出现错误的主要原因是码云中的README.md文件不在本地代码目录中

可以通过如下命令进行代码合并【注:pull=fetch+merge]

git pull --rebase origin master

此时再执行语句 git push -u origin master即可完成代码上传到github

第二步:分支的建立

1.分支创建(本地创建)

(1)本地创建分支

 git checkout -b develop

(相当于$ git branch dev

               $ git checkout dev

(2)查看本地分支

git branch

(3)切换本地分支

git checkout master

(4)删除本地分支

git checkout -b develop

(5)把本地分支同步到码云上(当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin)

查看远程仓库:

git remote

将本地分支推送到远程仓库

git push origin develop

注:并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?

master分支是主分支,因此要时刻与远程同步;

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;

feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

2.远程创建(也就是拉取他们的分支)

(1)

(2)拉取下来

git checkout -b origin/dddd

3.git的操作

(1)提交到暂存区

git add .

git commit -m "第一次修改"

此时提交后切换到默认分支,可以看到修改并没修改

(2)此时推送到远程仓库

git push origin origin/dddd

推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:

因此,多人协作的工作模式通常是这样:

首先,可以试图用git push origin branch-name推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

这就是多人协作的工作模式,一旦熟悉了,就非常简单

4.合并分支

一般使用普通合并

(1)回到开发分支,然后合并分支

git merge --no-ff -m "merge with no-ff" origin/dddd

(2)然后提交修改到远程仓库就好

(3)此时删除分支

5.分支分类

(1)bug分支:

1.1

bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?

幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交

git stash

此时你查看工作区:git status 就很干净了

2.2

创建bug分支

git checkout -b issue-101

然后提交分支

git add .

git commit -m "23"

然后切换到master完成合并

git checkout master

git merge --no-ff -m "merged bug fix 101" issue-101

然后删除bug分支

git branch -d issue-101

然后提交代码到远程上

git push origin master

最后回到develop上继续开发

此时你可以看看你的工作区存的位置

git stash list

工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了

(2)Feature分支:添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。

git checkout -b feature

开发完毕后你可以提交并回到develop上进行合并

git add .

git commit -m "gg"

git checkout develop

git merge --no-ff -m "feature01" feature

最后删除

git branch -Dfeature-vulcan

6.标签

1.给发布用的master打标签

git checkout master

git tag v0.1

查看所有版本

git tag

默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

方法是找到历史提交的commit id,然后打上就可以了

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

git tag v0.9 8d27cc5

2.删除标签

git tag -d v0.1

3.推送标签

推送指定标签

git push origin v1.0

推送所有标签

git push origin --tags

4.推送后的标签删除

先从本地删除

git tag -d v0.9

然后,从远程删除。删除命令也是push,但是格式如下:

git push origin:refs/tags/v0.9

7.版本回退

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容