Git笔记

什么是Git?

git是免费开源的版本管理工具

git基础命令包含一下几种

git clone  # Bring a repository that is hosted somewhere like Github into a folder on your local machine.

git add  # Track your files and change it in Git(add files).

git commit  # Save your files in Git.

git push  # Upload Git commits to a remote repo, like GitHub.

git pull  # Download changes from remote repo to your local machine, the opposite of push.

git基本流程

PR (pull request) 拉入另一个分支的请求

 origin指的是Git存储位置,master为分支

~/git push origin master

 将本地仓库连接至远程仓库

~/git remote add origin git@someAddress.git

Git分支

查看所有分支

~/git branch     # 查看所有分支
  * master       # '*'表示当前在哪个分支上
    feature/feature-demo

切换分支

~/git checkout feature/feature-demo

创建分支

~/git checkout -b feature/feature-test

删除分支

~/git checkout -d feature/feature-test

回退

回退最新一次Commit

~/git reset HEAD~1

 回退某次提交

~/git log  # 查看提交记录
  ...hash1(HEAD)
     last commit
  ...hash2
     second commit
  ...hash3
     third commit

~/git reset hash2

不仅回退, 还删除从那之后的提交

~/git log  # 查看提交记录
  ...hash1(HEAD)
     last commit
  ...hash2
     second commit
  ...hash3
     third commit

~/git reset --hard hash3

~/git log  # 查看提交记录
   ...hash3(HEAD)
     third commit

项目实战(Azure DevOps)

1. 远程创建feature分支

2. 如果远程新建了一个分支,本地没有该分支。可以利用:

git checkout --track origin/branch_name

这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。

(一定要把本地分支与远程分支关联起来)

3. 以feature/PBI2353-Task2356为例,执行git checkout --track origin/feature/PBI2353-Task2356此时git status会显示:

xxx.xxx@xxxx MINGW64 ~/source/repos/xxxx/PBI2353-Task2356/xxxxxxx (feature/PBI2353-Task2356)
$ git status
On branch feature/PBI2353-Task2356
Your branch is up to date with 'origin/feature/PBI2353-Task2356'.

nothing to commit, working tree clean

此时就可以在当前分支上进行开发了

git远程删除分支后,本地git branch -a 依然能看到的解决办法

使用 git branch -a 命令可以查看所有本地分支和远程分支(git branch -r 可以只查看远程分支)发现很多在远程仓库已经删除的分支在本地依然可以看到。

$ git branch -a
  develop
* feature/base
  main
  remotes/origin/HEAD -> origin/main
  remotes/origin/develop
  remotes/origin/feature/base
  remotes/origin/main
  remotes/origin/remotes/origin/develop  (该分支已经删除但依然显示)

使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。

$ git remote show origin
* remote origin
  Fetch URL: http://gitlab.igskcloud.com/awesome-opa/opa-api-service-v2.git
  Push  URL: http://gitlab.igskcloud.com/awesome-opa/opa-api-service-v2.git
  HEAD branch: main
  Remote branches:
    develop                                    tracked
    feature/base                               tracked
    main                                       tracked
    refs/remotes/origin/remotes/origin/develop stale (use 'git remote prune' to remove)
  Local branches configured for 'git pull':
    develop      merges with remote develop
    feature/base merges with remote feature/base
    main         merges with remote main
  Local refs configured for 'git push':
    develop      pushes to develop      (up to date)
    feature/base pushes to feature/base (up to date)
    main         pushes to main         (up to date)

此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令就可以删除那些远程仓库不存在的分支。

$ git remote prune origin
Pruning origin
* [pruned] origin/remotes/origin/develop
$ git branch -a
  develop
* feature/base
  main
  remotes/origin/HEAD -> origin/main
  remotes/origin/develop
  remotes/origin/feature/base
  remotes/origin/main

GIT强制还原本地和远程服务器一致

git fetch --all

git reset --hard origin/xxxx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值