git常见操作

1、git的工作区和文件状态

# git的工作区
    工作区(本地操作的目录.git所在的目录)、暂存区(临时存放即将提交到仓库的内容.git/index)、本地仓库(.git/objects)

# git的文件状态
    未跟踪 Untrack(指未被git纳管,可以通过git add xxx 来添加纳管)
    未修改 Unmodified
    已修改 Modified
    已暂存 Staged

2、如何为git配置网络代理

# 要分别为 http 和 https 都设置代理
    git config --global http.proxy http://xx.cc:4080
    git config --global https.proxy http://xx.cc:4080

3、向新的gitlab项目中提交代码

    #cd 本地项目文件目录,或者 在进入对应目录 右击打开open git bash here
    cd D:\\GItlab项目库\利器库\go-http-proxy

    # 初始化本地项目(执行成功后,会默认的生产master,执行完成后可以使用 git status查看)
    git init

    # 使本地和远程的仓库建立关联
    # git remote add <远程仓库别名> <远程仓库地址>
    git remote add origin http://gitlab.atstm.cc/ops/go-http-proxy.git

    # 注意:为了解决git不会提交空目录的情况,先找到空目录,再给下面创建一个固定名称的隐藏文件.gitkeep
    find . -type d -empty -exec touch {}/.gitkeep \;

    # 提交到暂存区(add命令,可以使用通配符)
    git add .    # git add xxx.txt

    # 添加commit注释(注意:只会将暂存区内的文件提交到本地仓库,不会提交工作区的其他文件到仓库)
    git commit -m "首次提交"

    # 将本地和远端仓库内代码进行合并(会让你写合并说明)(写完说明后,输入”:wq"退出)
    git pull --allow-unrelated-histories origin main

    # 提交代码到远程仓库
    # git push -u <远程仓库别名> <分支名>
    git push -u origin main
    #Tips: 若是从其他如阿里云效等迁移,可能分支要改成 master   写法为: git push -u origin master

4、其他用法

    git status          # 查看当前仓库的状态
    git log             # 查看每次提交的日志
    git log --oneline   # 查看简洁的提交记录

# git reset的三种模式(作用:用于回退,撤销之前的提交的版本)
    git reset --soft xxxcommit_idxx     # 工作区和暂存区都不会被清空
    git reset --hard HEAD^              # 回退到上一个版本,工作区和暂存区都会被清空
    git reset HEAD^                     # 默认不写就是--mixed,回退到上一个版本,工作区保留,暂存区删除
    git reflog                          # 查看之前的版本,
    git reset --hard xxxcommit_idxx     # 强制回退到某某版本

# git diff命令(默认比较工作区和暂存区的内容)
    git diff
    git diff HEAD                           # 比较工作区与版本库的差异
    git diff xxxcommit_idxx xxxcommit_idxx  # 比较两个提交记录的差异
    git diff HEAD^ file.txt                 # 查看指定文件的版本差异

# git rm 删除文件
    git ls-files            # 查看暂存区中的内容
    git rm file2.txt        # 从工作区和暂存区内删除file2.txt,最后不要忘记提交下,才能在版本库里删除。
    git rm --cached file2.txt   # 将该文件,只从版本库中删除,不在工作区和暂存区删除(就是本地还在)

# .gitignore git忽略文件
    比如可能需要忽略的文件有:日志文件及日志文件目录、所有.class文件、所有.o文件、所有.env文件等等
    echo *.log > .gitignore      # 向.gitignore文件写入一个忽略文件的名字(忽略所有日志文件)
    echo tmp/ >> .gitignore       # 忽略文件目录

    # 拉去远程仓库内容
    git pull <远程仓库别名> <远程分支名>:<本地分支名>     # 注意若是远程分支名和本地分支名相同,可以省略冒号后面的

5、git分支

    # 查看分支列表
    git branch          # 查看本地分支
    git branch -r       # 查看远程分支

    # 创建分支
    git branch branch_name

    # 切换分支(git checkout branch_name  推荐使用下面的)
    git switch main

    # 合并分支
    git merge branch_name

    # 删除分支
    git branch -d branch_name   # 删除已合并分支
    git branch -D branch_name   # 删除未合并分支

6、小知识点

git默认不会将空文件夹纳入版本控制里面来的
# 解决办法
    find . -type d -empty -exec touch {}/.gitkeep \;
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1294.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/3/29作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录