GIT基本命令

Git

1. 基本指令
pwd:命令用于显示当前目录

ls –ah:显示.git目录

cat :查看fileName文件内容

git diff HEAD – readme.txt:查看工作区和版本库里面最新版本的区别

git log:显示从最近到最远的提交日志

git reflog:查看命令历史,以便确定要回到未来的哪个版本

git log --graph 查看分支合并图

2. 基本操作
git init:把所在目录变成Git可以管理的仓库

git clone -b <分支名称><远程仓库地址> 拉取项目到本地
git clone -b master ssh://…

git status:文件修改记录

git add:把文件添加到暂存区
git add . --将所有文件都添加到暂存区

git commit -m “提交说明”:把文件提交到git仓库

git push origin master:把当前分支master推送到远程master分支

git pull origin master :拉取远程master分支的代码

3. 分支

git branch:查看分支

git branch :创建分支

git checkout 或者git switch :切换分支

git checkout -b 或者git switch -c :创建+切换分支

git merge :合并某分支到当前分支

git branch -d :删除分支

git branch -D :强行删除一个没有被合并过的分支(已经add和commit了)

4. 回退和暂存
git reset <commit_id>:回退版本或者把暂存区的修改回退到工作区(暂存区回退到工作区倒是用处不大,如果git add弄错了,直接在工作区修改再次add即可)

git stash、git stash pop 工作区stash、工作区恢复(一般用于开发到一半有新的需求,需要将当前工作区暂存)

5. push详解

push:首先要切换要推送的分支

a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch
git push(远程已有,本地关联)

b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch
(其实很少会出现这种情况,因为在push之前都会先pull拉取远程分支上的代码)
git push -u origin/remote_branch(远程已有,本地未关联)

c.远程没有remote_branch分支,本地已经切换到local_branch
att:一般push如果远程没有分支,会自动新建一个,其实也没有必要专门带上 :remote_branch
git push origin local_branch:remote_branch(远程没有)
git push origin release_2.5.3:release_2.5.3

6. 冲突解决
1、在pull的时候,出现冲突时需要写入commit说明,输入英文状态下的i进入编辑状态,然后输入,输入完成之后esc;然后shift+冒号,然后输入wq保存刚刚输入的文件即可(如不保存,直接按q后退出),pull完毕;
直接因为下输入冒号:wq即可,:wq!强制保存退出

7. 重命名远程分支

如果想在远程重命一个分支名,首先需要知道远程的修改都是源于本地的修改,所以想要修改本地的分支:

  1. 在本地的clone版本中重命名分支
  2. 删除远程待修改的分支名
  3. 则本地的新分支名push到远程

git branch -a #查看所有分支

git branch -r #查看远程分支

git branch -vv #查看本地分支所关联的远程分支

1、本地重命名分支
git branch -m old_branch new_branch # Rename branch locally
git branch -m release_1.0.0 3.1.0

2、push 删掉远程的旧的分支名
git push origin :old_branch # Delete the old branch
git push origin :release_1.0.0

3、push 将本地的新的分支推送到远程
git push --set-upstream origin new_branch 例如:git push --set-upstream origin 3.1.0
git push -u origin new_branch# Push the new branch, set local branch to track the new remote git push –u origin 3.1.0
git push origin 3.1.0

8. Git合并两个共同的仓库
https://cloud.tencent.com/developer/ask/206231
https://www.cnblogs.com/lfzm/p/10681412.html

1、把要合并的分支clone到本地
git clone https://gitee.com/alingfly/ASF_Test.git

2、添加需要合并远程仓库
git remote add base https://github.com/AClumsy/ASF.git

3、把base远程仓库中数据抓取到本仓库
git pull

4、checkout切换到base分支上,命名为 asf

5、合并

9. Git不提交无关文件
1、从神兵上获取.gitignore文件

2、然后执行git rm -r --cached . <当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用>

3、之后重新commit相关文件(包括.gitignore)就可以了

10. ATT

.git的目录:Git来跟踪管理版本库的,不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

ls –ah:显示.git目录

att:改动的文件一定要放到“.git平级或者子目录下,因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。(git只能管理git仓库建立的位置的文件或者子文件,在其之外的文件是无法访问到的)

11. 基本原理

暂存区 Stage
工作区:电脑里能看到的目录

暂存区:需要提交的文件修改都要放到暂存区,然后一次性提交暂存区的所有修改

往Git版本库里添加文件的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

git pull origin release_2.5.3 做更新的时候。出现了个错误:

git解决error: The following untracked working tree files would be overwritten by checkout
原因:文件被修改了,但是没有add到仓库,在pull的时候可能会导致文件被覆盖
解决方法:git clean -d -fx “zuul/zuul.iml”
x -----删除忽略文件已经对git来说不识别的文件
d -----删除未被添加到git的路径中的文件
f -----强制运行

版本回退
1、直接丢弃工作区某文件的修改时,用命令git checkout – ;

2、丢弃添加到了暂存区的某文件的修改,用命令git reset HEAD 丢弃之后就不会被commit了;

3、已经commit到了不合适的修改到版本库时,想要撤销本次提交,用git reset – hard HEAD^参考版本回退一节,前提是没有推送到远程库。

标签管理
打上标签,其实到时候分支被删除,也可以找回打了标签时候的文件

(1)切换到需要打标签的分支上

(2)git tag <commit_id> :新建一个标签,默认打在最新commit_id上,也可以指定一个commit id;

(3)git tag -a -m "tagname info"可以指定标签信息; //可有可无

(4)git push origin 推送一个本地标签;

(5)git push origin --tags 可以推送全部未推送过的本地标签;

(6)git show :查看标签信息,可以看到说明信息 //标签不是按时间顺序列出,而是按字母排序的。标签总是和某个commit挂钩。

(7)git tag -d 删除一个本地标签;

(8)git push origin :refs/tags/ 删除一个远程标签。

### Git 基本命令教程 Git 是一个分布式版本控制系统,用于跟踪文件的更改和管理项目代码。以下是常用的 Git 基本命令及其功能: #### 初始化仓库 ```bash git init ``` 该命令用于初始化一个新的 Git 仓库[^1]。 #### 克隆远程仓库 ```bash git clone [url] ``` 通过指定远程仓库的 URL,可以将远程仓库的内容复制到本地[^2]。 #### 查看状态 ```bash git status ``` 显示工作目录和暂存区的状态,帮助开发者了解哪些文件被修改或新增[^3]。 #### 跟踪新文件或暂存更改 ```bash git add [file-name] ``` 将文件添加到暂存区,准备提交。如果要添加所有更改的文件,可以使用 `git add .`[^4]。 #### 提交更改 ```bash git commit -m "提交信息" ``` 将暂存区的更改提交到本地仓库,并附带一条描述性消息[^5]。 #### 查看提交历史 ```bash git log ``` 显示所有的提交记录,包括每次提交的哈希值、作者、日期和提交信息[^6]。 #### 切换分支或恢复工作树文件 ```bash git checkout [branch-name] ``` 切换到指定分支。如果需要恢复某个文件到上次提交的状态,可以指定文件名[^7]。 #### 创建新分支 ```bash git branch [branch-name] ``` 创建一个新的分支,但不会自动切换到该分支[^8]。 #### 合并分支 ```bash git merge [branch-name] ``` 将指定分支的更改合并到当前分支[^9]。 #### 推送更改到远程仓库 ```bash git push origin [branch-name] ``` 将本地分支的更改推送到远程仓库[^10]。 #### 拉取远程仓库的最新更改 ```bash git pull origin [branch-name] ``` 从远程仓库获取最新的更改并合并到当前分支[^11]。 --- ```python # 示例:Python 脚本中调用 Git 命令 import subprocess def run_git_command(command): result = subprocess.run(command, shell=True, capture_output=True, text=True) return result.stdout output = run_git_command("git status") print(output) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值