git命令使用

设置用户信息
// 查看用户名和邮箱地址
$ git config user.name
$ git config user.email
    
// 修改自己的用户名和邮箱地址
$ git config --global user.name “xxx”
$ git config --global user.email “xxx”
    
//查看git版本
$ git --version
    
// 检查配置信息
git config --list
    
// 清屏
clear
初始化仓库
$ git init //创建成功会在当前目录生成一个隐藏的.git文件夹
添加文件或目录到暂存区
// 将所有修改添加到暂存区
$ git add .
// 添加一个或多个文件到赞
$ git add [file1] [file2] ...
// 添加指定目录到暂缓区,包括子目录
$ git add [dir]

把暂存区中的代码提交到本地仓库
$ git commit -m '注释'
// 跳过使用暂存区域
$ git commit -a -m 'added new benchmarks'
检查当前文件状态
$ git status
// 要查看尚未暂存的文件更新了哪些部分,不加参数直接输入 
$ git diff
// 查看已经暂存起来的变化
$ git diff --cached 
忽略文件

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

$ cat .gitignore
*.[oa]	//忽略所有以 .o 或 .a 结尾的文件
*~ //忽略所有以波浪符(~)结尾的文件
移除文件

我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。 换句话说,你想让文件保留在磁盘,但是并不想让 Git 继续跟踪。 当你忘记添加 .gitignore 文件,不小心把一个很大的日志文件或一堆 .a 这样的编译生成文件添加到暂存区时,这一做法尤其有用。 为达到这一目的,使用 --cached 选项

git rm -r --cached test //--cached不会把本地的test删除
git commit -m 'delete test dir'
git push -u origin master
// 删除以 ~ 结尾的所有文件
$ git rm \*~
查看提交历史
$ git log
// 显示最近两次提交
$ git log -p -2
// 查看每次提交的简略的统计信息
$ git log --stat
// 放在一行显示,查看的提交数很大时非常有用 ,另外还有 short,full 和 fuller 可以用,展示的信息或多或少有些不同
$ git log --pretty=oneline
// 可以定制要显示的记录格式
$ git log --pretty=format:"%h - %an, %ar : %s"
// 当 oneline 或 format 与另一个 log 选项 --graph 结合使用时尤其有用。 这个选项添加了一些ASCII字符串来形象地展示你的分支、合并历史
$ git log --pretty=format:"%h %s" --graph
    
// 命令查看某一次提交详细信息
$ git show be24e214620fa072efa877e1967571731c465884
// 分支检查日志
$ git log origin/wchar_support -2
撤消操作
// 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交,
$ git commit --amend
/** 
例如:
    $ git commit -m 'initial commit'
    $ git add forgotten_file
    $ git commit --amend
    最终你只会有一个提交 - 第二次提交将代替第一次提交的结果
*/
取消暂存的文件
// 取消暂存 XX.txt 文件
$ git reset HEAD mytext.txt
撤消对文件的修改
// 原成上次提交时的样子(或者刚克隆完的样子,或者刚把它放入工作目录时的样子)
$ git checkout -- mytext.txt
程仓库的使用
查看远程仓库
// 如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。 如果已经克隆了自己的仓库,那么至少应该能看到 origin - 这是 Git 给你克隆的仓库服务器的默认名字
$ git remote
// 显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
$ git remote -v
    
//查看某一个远程仓库的信息
$ git remote show origin
克隆
$ git clone [url] //url远程仓库的链接地址
推送
$ git push
$ git push origin master
更新/拉取
$ git pull
隐藏(Stash)操作

假设您正在为产品新的功能编写/实现代码,当正在编写代码时,突然出现软件客户端升级。这时,您必须将新编写的功能代码保留几个小时然后去处理升级的问题。在这段时间内不能提交代码,也不能丢弃您的代码更改。 所以需要一些临时等待一段时间,您可以存储部分更改,然后再提交它。

在Git中,隐藏操作将使您能够修改跟踪文件,阶段更改,并将其保存在一系列未完成的更改中,并可以随时重新应用。

// 现在,要切换分支以进行客户升级,但不想提交一直在做的工作; 那么可以把当前工作的改变隐藏起来。 要将一个新的存根推到堆栈上
$ git stash
// 查看已存在更改的列表
$ git stash list
// 查找上次没有写完成的代码,从堆栈中删除更改并将其放置在当前工作目录中
$ git stash pop
创建标签
// 使用git tag命令来标记当前HEAD指针。在创建标签时需要提供-a选项的标签名称,并提供带-m选项的标签消息
$ git tag -a 'Release_1_0' -m 'Tagged basic string operation code' HEAD
// 如果要标记特定提交,则使用相应的COMMIT ID而不是HEAD指针。使用以下命令将标签推送到远程存储库
$ git push origin tag Release_1_0
//查看所有可用的标签
$ git tag -l
// 查看有关标签的更多详细信息
$ git show Release_1_0
// 删除标签
$ git tag -d Release_1_0
管理分支
// 创建分支
git branch <branch name>
// 查看分支
$ git branch
// 查看本地分支和远程分支
$ git branch -a
// 查看本地分支与远程分支关联关系
$ git branch -vv
// 切换分支
$ git checkout new_branch
// 创建一个新的分支,并立即切换到新分支
$ git checkout -b test_branch
// 本地分支提交到远程仓库
$ git push origin [分支名]
// 删除本地分支
$ git branch -D test_branch
// 修改分支的名字
$ git branch -m new_branch wchar_support
// 在当前分支上合并dev分支
git merge dev 
// 合并分支fixes和enhancements在当前分支的顶部,使它们合并
$ git merge fixes enhancements
// 合并obsolete分支到当前分支,使用ours合并策略
$ git merge -s ours obsolete
// 将分支maint合并到当前分支中,但不要自动进行新的提交 (不要滥用这)
$ git merge --no-commit maint
// 为单个分支添加注释
git config branch.分支名.description 分支描述内容
// 查看单个分支的注释
git config branch.分支名.description

//....   
$ git fetch
    
// 合并分支
获取dev代码步骤
1.自己分支如果有改动,先提交
2.切换到dev
3.拉取dev最新代码,git pull dev
4.回到自己分支
5.合并dev代码,git merge dev
6.如果有冲突,解决冲突后提交,没有则直接提交

 :q回车
    
// 删除远程分支
$ git push origin --delete '分支名'
    
// 删除远程分支文件步骤
1.git rm -r --cached 文件/文件夹
2.在.gitignore中设置不需要提交的文件或文件夹
3.提交
     
// 去除git对某个文件的追踪
git update-index --assume-unchanged file_path
 
// 恢复git对某个某个文件的追踪     
git update-index --no-assume-unchanged file_path
版本回滚
// 版本回退到上一个版本
$ git reset --hard HEAD^
// 回滚到指定版本
$ git reset --hard 1078f
// 回滚历史记录
$ git reflog
    
文件去除git版本控制
$ find . -name ".git" | xargs rm -Rf
绑定仓库
##### 创建一个新的存储库
git clone http://10.6.1.52/jydw/gysfwzx/ttsservices.git 
cd ttsservices 
touch README.md 
git add README.md 
git commit -m "add README" git push -u origin master

##### 现有文件夹
cd existing_folder 
git init 
git remote add origin http://10.6.1.52/jydw/gysfwzx/ttsservices.git 
git add .
git commit -m "初始提交" 
git push -u origin master

##### 现有的 Git 存储库
cd existing_repo 
git remote rename origin old-origin 
git remote add origin http://10.6.1.52/jydw/gysfwzx/ttsservices.git 
git push -u origin --all 
git push -u origin --tags

参考原文链接:https://www.yiibai.com/git/git_diff.html

posted @   龙龙同学  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示