开发者 git日常操作备忘录

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/briblue/article/details/86610674

git 是常见的版本控制软件。

但是如果不经常使用的话,就会忘记一些基本的命令操作。

本文的目的也是对常见的命令做一个备忘,同时希望可以帮助到大家。

创建 git 仓库

mkdir testone
cd testone
git init

会出现以下结果

Initialized empty Git repository in /home/xxx/excirsises/testone/.git/

当前目录下会创建 .git 目录,git 的版本文件就保存在里面。

添加一些文件然后提交

touch readme.md
git add readme.md
git commit -m  'just for test'

配置用户信息

git config --global user.email '[email protected]' 
git config --global user.name 'frank909'

从远程克隆仓库

git clone ssh://[email protected]/~/xxx/testone

从远程仓库克隆到本地

查看分支

git branch
# 查看本地和远程的分支情况
git branch -a 

创建分支

# 创建名为 dev 的分支
git branch dev

切换分支

# 从当前分支切换到 dev
git checkout dev

创建同时切换分支

git checkout -b hot-fix

在当前分支上创建分支 hot-fix,并切换到 hot-fix

删除分支

git branch -d hot-fix

注意的是,如果你当前在 hot-fix 分支上,要先切换到其他分支,才能删除 hot-fix 分支。

将本地仓库和远程仓库关联

前提条件是远程仓库要先存在。

mkdir test.git

cd test.git

git init --bare

首先登录到远程服务器上并新建一个目录,然后初始化一个空的仓库。

再之后回到本地仓库操作

git remote add orgin [email protected]:/home/server/test.git

git push -u origin master

这里假设服务器登账号为 server,服务器地址为 192.168.1.1 后面的路径代表仓库在服务器上的地址。
开发者可以根据自己项目的真实情况设定。

将本地分支推送到远程分支。

# 提交本地的 dev 分支到远程仓库 origin 的 dev 分支
git push origin dev:dev

# 提交本地的 dev 分支到远程仓库 origin 的 remotetest 分支
git push origin dev:remotetest

删除远程分支

# 删除远程仓库的 remotetest 分支,本地的不收影响
git push origin :remotetest

拉取远程分支

git pull

完整命令其实是

git pull <remote> <branch>

# 比如将远程 origin 仓库的 testpull 分支拉取下来
git pull origin testpull

本地分支与远程分支关联

git branch --set-upstream-to=origin/<branch> dev
# 本地的 dev 分支和远程的 origin/dev 分支关联后,可以直接使用 git pull
git branch --set-upstream-to=origin/dev dev

合并分支

# 将test合并到当前分支上
git merge test

git checkout 远程分支

有时候向在远程仓库的基础上,拉取特定的某一个分支,命令如下

# localtest 是本地分支, origin/dev 是远程的 dev 分支
git checkout -b localtest origin/dev

git fetch

git fetch 和 git pull 很像,但 git fetch 要柔和一点,git pull 会将远程的命令拉下来直接和本地的合并。

git fetch 会先获取信息,但不合并。

git fetch origin dev
# 比较本地版本和远程版本
git log -p dev origin/dev
# 合并远程 dev 版本
git merge origin/dev

也可以这样操作

# 将远程 dev 分支拉取下来,并同步到 newtest 分支上,如果 newtest 分支不存在则创建,但不会切换
git fetch origin dev:newtest

猜你喜欢

转载自blog.csdn.net/briblue/article/details/86610674
今日推荐