要玩转 Git 并理解一些基本的命令,可以从以下几个方面入手:

基本概念

  1. *Repository (仓库)**:存储项目的地方,包括所有文件的历史记录。
  2. *Commit (提交)**:对文件的快照,记录了文件的状态。
  3. *Branch (分支)**:并行开发的独立线索。
  4. *Merge (合并)**:将分支的更改合并到另一个分支。
  5. *Remote (远程仓库)**:托管在服务器上的仓库,如 GitHub。

基本命令

  1. 初始化仓库git init在当前目录下初始化一个新的 Git 仓库。
  2. 克隆远程仓库git clone <repository-url>克隆一个远程仓库到本地。
  3. 查看仓库状态git status显示当前分支的状态,包括未提交的更改。
  4. 添加文件到暂存区git add <file-name>将文件添加到暂存区,准备提交。
  5. 提交更改git commit -m “Commit message”提交暂存区的更改,并添加提交信息。
  6. 查看提交历史git log显示提交历史记录。
  7. 创建新分支git branch <branch-name>创建一个新的分支。
  8. 切换分支git checkout <branch-name>切换到指定分支。
  9. 合并分支git merge <branch-name>将指定分支合并到当前分支。
  10. 删除本地分支git branch -d <branch-name>删除本地分支。
  11. 推送到远程仓库git push origin <branch-name>将本地分支推送到远程仓库。
  12. 拉取远程仓库的更改git pull从远程仓库拉取并合并更改。

学习资源

  • Git 官方文档:详细介绍了 Git 的所有功能和命令。
  • Pro Git 书籍:一本免费的电子书,全面介绍了 Git 的使用。
  • 在线教程:如 Codecademy、Udacity 等提供的 Git 教程。

通过实践这些基本命令和概念,你可以逐步掌握 Git 的使用。

 

实用命令:

一.本地相关操作

1、git安装并与远程仓库关联相关配置

(1)初始配置

git config –global user.name “summer”

git config –global user.email 2403486284@qq.com

 

(2)配置别名:

git config –global alias.st status

git config –global alias.co checkout

git config –global alias.ci commit

git config –global alias.br branch

 

(3)ssh-keygen -t rsa -C “Huwz-intel”

 

(4)一直回车,然后open ~/.ssh

把.pub里面的内容复制在git网页的ssh key里面

 

(5)验证:  ssh -T git@rdgit.300624.cn

2.首次拉取代码

(1) git clone -b develop –recurse-submodules git@rdgit.300624.cn:VsStudio/filmora11-win.git//拉取代码

(2) git checkout -b (develop / feature/web_tester)创建分支

(3)  git pull

(4) git submodule update –init –recursive

 

3.处理本地未被跟踪的文件

(1) git clean -f 删除文件

(2) git clean -df 将文件所在的目录一起删除.

 

(3)-n参数可以看到那些文件会被删除,对应为命令:

git clean -nf

git clean -ndf

 

4.支持重复撤退,

git reset –soft HEAD^

 

5.终极处理命令

git rm –cached -r .; git reset –hard; git rm .gitattributes; git reset .; git checkout .

 

6.直接切换新分支搞定问题:

1、 git checkout -b feature_aa origin/release_7.14.0  (重要 : 切换并关联远端分支)

2、git branch -D release_7.14.0 强行删除某个命令

 

重新再来!几个小清洁命令:

(1) git br -vv

(2) git gc

(3)git remote prune origin

(4)git fetch –prune

(5)git stash –include-untracked

 

二.远程相关操作

1、本地代码提交到不同的远程分支提交处理方式

git push origin 本地分支名:远程分支名

如:git push origin release/v12_0_0:personal/huwz/v12_0_0

 

2、删除远程分支

git push origin –delete  远程分支名

如:git push origin –delete person/huwz/v12_0_0_propery_view

 

3、回退到最新代码分支处

Git reset –hard 远程分支SHA值

如·:git reset –hard 2b7631cd81a915b380eeb4ff00dbbd1df492e176 (commit SHA)

 

4.设置关联远端分支:

git branch –set-upstream-to=origin/remote_branch  your_branch

 

5.git相关的常用命令

git cherry-pick 提交的hash值

例如:

  a - b - c - d   Master
         \
           e - f - g Feature

现在将提交f应用到master分支。

# 切换到 master 分支
$ git checkout master

# Cherry pick 操作
$ git cherry-pick f

6.实现代码回退
1、git revert  远程分支SHA值

2、git revert -m 1 远程分支SHA值 (merge类型的合并,需要处理reverting merge 也许)

 

三 修改配置的相关问题

1.修改host配置文件

方法一:

git remote set-url origin [url]
例如:git remote set-url origin https://ddns.togit.cc:7777/rffanlab/tensorflow_get_started_doc_cn.git

方法二:
git remote rm origin
git remote add origin [url]

 

2.远端分支合并到本地分支

(1)git checkout 主分支;

(2)git pull –rebase;

(3)git merge origin/远端分支名

(4)冲突解决 (vs code /小乌龟 / SourceTree)

(5)git commit -m “提交信息”;

(6)git push 远端去!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。