Skip to main content

远程仓库&分支管理

远程仓库&分支管理

远程仓库

`E:\E\Git\git>git remote add origin git@github.com:happlay71/git.git`
`#在github账户上创建一个名为origin的远程库`

`E:\E\Git\git>git push -u origin master #将本地库的内容推送到远程库中`

`E:\E\Git>git clone git@github.com:happlay71/gitskills.git`
`#首先确保在github库中有gitskills这个库,然后将该库所存的内容保存到当前目录下`

`E:\E\Git\git>git remote rm origin #删除已有的github远程库名`

`E:\E\Git\git>git remote -v #查看远程库信息

分支管理

`E:\E\Git\git>git checkout -b dev(或git switch -c dev能起到相同作用)  #创建dev分支并切换到该分支`
`等同于:`
`$ git branch dev`

`$ git checkout de`

`E:\E\Git\git>git branch #查看当前分支`

`E:\E\Git\git>git checkout master(或git switch master) #切换分支`

`E:\E\Git\git>git merge dev #将dev上的修改合并到master里(此次合并为快进模式)`

`E:\E\Git\git>git branch -d dev #删除名为dev的分支`

`#当提交产生冲突时,无法快速合并。应手动解决冲突,然后再提交,再合并`

`E:\E\Git\git>git merge --no-ff -m "merge with no-ff" dev #禁用快进模式`

`E:\E\Git\git>git log --graph --pretty=oneline --abbrev-commit #显示时间段版的日志`

`E:\E\Git\git>git stash #将当前内容储藏起来(方便修改bug)`

`E:\E\Git\git>git stash list #查看储藏起来的内容`

`E:\E\Git\git>git stash apply #恢复被储藏起来的内容,但stash内容并不会删除`
`E:\E\Git\git>git stash dorp #删除stash的内容`

`E:\E\Git\git>git stash pop #恢复储藏内容并删除stash内容`

`E:\E\Git\git>git branch -D feature-vulcan #强行删除一个分支`

`E:\E\Git\git>git pull #先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并`

`E:\E\Git\git>git branch --set-upstream-to=origin/dev dev #设置dev和origin/dev的链接

样例

clone项目

git clone https://github.com/jzab-nb/xxx.git

切换到项目路径!!!!!!!!!!!

创建名为dev的分支,并切换到该分支

git branch dev
git checkout dev

确认远程仓库连接对象

git remote -v
git add .
git commit -m "测试"
// 只用执行一次,以后可以用 git push
git push origin dev:main (main为)

同步

如果您想要将您的本地项目与别人提交后的最新版本保持一致,可以按照以下步骤操作:

  1. 确保您的本地项目没有未提交的更改,可以使用 git status 命令检查。

  2. 确保您的本地项目没有未提交的更改,可以使用 git status 命令检查。

  3. 使用 git pull 命令从远程仓库获取最新的更改:

    git pull origin main

    这将从远程的 main 分支拉取最新的提交并将其合并到您的本地分支。

  4. 如果存在冲突(即您的更改与远程的更改有冲突),您需要解决冲突并进行提交。您可以使用 git status 命令查看冲突文件,并手动编辑以解决冲突。

  5. 如果在 git pull 之前已经进行了一些本地更改,但是您希望放弃这些更改并使您的本地分支与远程分支一致,可以使用 git reset --hard 命令:

    git reset --hard origin/main

    这会将您的本地分支重置为与远程 main 分支相同的状态,丢弃任何未提交的更改。

通过这些步骤,您的本地项目将与远程仓库的最新版本保持一致。请确保在执行任何重要操作之前备份您的更改,以防止意外丢失。

与远程分支关联

之后可以直接使用pull和push命令

git branch --set-upstream-to=origin/dev dev

取消关联

git branch --unset-upstream

上游分支&本地分支

上游分支(upstream branch)指的是远程仓库中的分支,而本地分支(local branch)指的是你在本地创建的分支

处理分支和主分支

如果你有未提交的更改,并且想要在更新主分支之前保存这些更改,你可以使用git stash命令。这会将当前的工作目录状态保存到一个临时的存储区域,以便稍后恢复。

以下是你可以执行的步骤:

  1. 先使用git stash将未提交的更改保存起来。
  2. 然后执行git pull origin main来拉取远程主分支的更新。
  3. 完成后,你可以使用git stash pop将之前保存的更改应用到你的工作目录中,或者使用git stash apply来手动应用它们。

记住,在执行git pull之前,你应该确保你的工作目录是干净的,即没有未提交的更改。