git 简单使用

1.初始化一个空的git repository

打开terminal,cd到一个空文件夹:

cd /Users/deng/Desktop/learngitcommand

然后使用git init命令,返回:Initialized empty Git repository in /Users/deng/Desktop/learngitcommand/.git/

初始化empty repository成功

2.添加修改

给上述文件夹添加一个git.txt文档,并在文档中编辑:first alter,将此文档提交到git repository。

git status查看当前状态

git add .添加所有修改到暂存区

git commit -m ‘commit log’ 提交修改到本地repository

git push origin master 将本地的修改同步到远程repository

3.撤销修改

如果修改还没有被添加到缓存区,可以直接打开git.txt然后把修改删除也可以使用命令git checkout git.txt

如果已经添加到暂存区,可以使用命令git reset HEAD git.txt,从暂存区删除,然后git checkout git.txt撤销修改

如果已经提交到repository可以使用git reset --hard HEAD^(git reset --hard version)命令,或者 git revert  version

前者和后者的区别:前者会把本次的commit删除,后者则是在本次commit的基础上添加一个新的commit

4.常用的命令

git log:查看提交日志

git log --pretty=oneline:查看简洁的提交日志

git diff:查看当前和repository的不同,如果已经添加到暂存区不可用

git reflog:查看所有HEAD的历史

git show version(git.txt):显示此版本的变化(某个文件)

git pull origin chat:�更新本地chat分支为最新

git stash :将当前修改储藏

git stash list :储存列表

5.新建分支并更新到远端

git checkout -b �chat:创建并切换到chat分支,相当于 git branch chat创建chat分支,git checkout chat切换chat分支,两个命令

git push origin chat:将此分支添加更新到远程

git add -a.   git commit -m 'commit log'   git push origin chat

6.分支chat合并到master上

git checkout master:切换到master分支

git merge chat:将chat分支合并到master上

git push origin master:将合并后的修改推送到远程的master分支上

7.分支相关

git branch:列出本地已经存在的分支,并以*标记当前分支

git branch -r:列出所有远程分支

git branch -a:列出本地分支和远程分支

git branch -m | -M oldbranchname newbranchname:重命名分支,如果newbranchname已经存在,需要使用-M进行强制命名

git branch -d | -D branchname:删除本地branchname分支,-D强制删除

git push origin空格:branchname:原理是把一个空分支push到server上,相当于删除该分支

8.clone repository

获得远程repository地址,cd到本地项目文件夹

git clone git@git.local.ybzf.com:weixin/weixin-ios.git :克隆远程仓库到本地文件夹

注:当你从远程克隆项目,并做修改之后需要push到origin,可能你会遇到下面的错误:

remote:GitLab: You don't have permission

error: failed to push some refs to 'http://xxx/xxx/xxx_HTML.git'

意思就是你不具有push的权限。

解决办法是:需要项目的所有者修改当前分支被保护的权限,步骤是:

在项目的【Setting】中的【Protected branches】可以设置哪些分支是被保护的,默认情况下【master】分支是处于被保护状态下的,develop角色的人是无法提交到master分支的,在下面的【Developers can push】打上钩就可以了。


步骤

然后就可以重新push了。

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

推荐阅读更多精彩内容