Linux下Git常用的操作使用

本文详细介绍了Git的基本操作,包括查看分支、切换、拉取代码、添加与提交、远程同步、暂存与提交历史等,重点展示了代码从修改到推送至不同分支的完整流程。

1.git branch 看本地有多少个分支
git branch -v 看远程有多少个分支
git branch -a 看本地和远程所有的分支
git branch -d master  表示删除本地分支master
2. git checkout master 切换master分支
3. git pull 拉取代码
4. git add --all    添加记录
5. git commit -m "ServiceName:your log" 提交代码
   git commit --amend 修改提交
6. git push origin HEAD:refs/for/master   提交到master分支 ,其他分支类似  
7.git log或git log --oneline 看提交日志
8.git reset --hard e8290dc 强制复位到指定comments
9.git stash 或 git stash save “修改的信息" :修改暂存本地分支
 git pop 弹出 本地的暂存
 或者
 git stash list 先列出有哪些暂存
 git stash apply stash@{0} 再将最新的暂存弹出
 git stash drop stash@{0}  这是删除第一个队列
 git stash clear  这是清空你所有的内容
10.git clone:
git clone -b dev ssh://yongkang.cyk@172.16.4.198:29418/Vbox/V2X 
11.git status 查看修改的文件
12. git checkout ./ 取消本地修改
 git checkout -b psa_SOP origin/psa_SOP 将origin/psa_SOP在本地创建一个对应的psa_SOP分支
 git checkout -b ford_SOP origin/ford_SOP
 git checkout -b wuling_SOP origin/wuling_SOP
 git checkout master  将切换本地的master分支
13.git diff 查看比较修改的部分

一般的代码提交方式:
①. git checkout master 切换master分支
②. git branch 查看一下是否在master分支
③. git pull 拉取代码
④. copy code 拷贝代码
⑤. git add --all    添加记录   Fix Coverity report AvnService issue!
⑥. git commit 进行添加注释:"JiraID:BMBUG-114113: Resolve nfs mount fail bug!" 
peerreviewedby:shan.zhang
selftest: ok
按Ctrl+O 再按Enter,然后Ctrl+X,如果重新编辑commit,则执行: git commit --amend

⑦.提交分支: 
a. 提交到master分支    git push origin HEAD:refs/for/master   

b.提交到PSAsop分支     git push origin HEAD:refs/for/psa_SOP   

c.提交到FORDsop分支    git push origin HEAD:refs/for/ford_SOP 

d.提交到WuLingsop分支  git push origin HEAD:refs/for/wuling_SOP

e.提交到Litesop分支    git push origin HEAD:refs/for/lite_SOP  

### LinuxGit Blame 的使用方法 `git blame` 是一种用于查看文件历史记录的工具,它可以帮助开发者理解某个文件的变化过程以及每行代码的责任归属。下面详细介绍其基本语法和一些常见用法。 #### 基本语法 `git blame` 的基础命令如下所示: ```bash git blame [options] 文件路径 ``` 执行此命令后,Git 将显示指定文件每一行的内容及其对应的提交哈希、作者和时间戳[^1]。 #### 示例说明 以下是几个常见的 `git blame` 使用场景: 1. **简单调用** 查看当前版本某文件的历史记录。 ```bash git blame example.txt ``` 输出类似于以下内容: ``` ^a8c9b7e (Alice Smith 2023-01-01 10:00:00 +0000 1) This is line one. bcd4fgh1 (Bob Jones 2023-01-02 11:00:00 +0000 2) And here's another line. ``` 2. **限定范围** 如果只想查看特定部分的历史记录,可以结合 `-L` 参数来定义起始和结束行号。 ```bash git blame -L 5,10 example.txt ``` 3. **忽略空白字符变化** 当某些修改仅涉及缩进或其他无关紧要的格式调整时,可以通过参数排除这些改动的影响。 ```bash git blame --ignore-whitespace example.txt ``` 4. **自定义别名** 如前所述,为了使术语更加友好,可设置个性化别名替代默认名称 “blame”。例如创建名为“who”的新指令表示相同功能: ```bash git config --global alias.who 'blame' ``` 之后即可通过更亲切的方式查询信息了: ```bash git who example.txt ``` 以上即为在Linux操作系统上运用Git Blame的一些技巧介绍[^2]^。 ### 注意事项 尽管该特性非常有用,但它并非设计用来指责他人错误;相反地,更多时候是用来促进团队协作沟通或者追踪问题根源以便改进工作流程. ```python # Python 示例:模拟读取 git blame 结果并解析成字典形式 import subprocess def get_git_blame(file_path): result = {} output = subprocess.check_output(['git', 'blame', '--line-porcelain', file_path]).decode('utf-8').splitlines() commit_hash = None author_name = None date_time = None for line in output: if not line.strip(): continue key, value = line.split(None, 1) if key == "commit": commit_hash = value elif key == "author": author_name = value elif key == "author-time": import time timestamp = int(value) date_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(timestamp)) elif key.isdigit(): # Line number starts new entry per line content_line_number = int(key)-1 actual_content = value result[content_line_number]={ "hash": commit_hash, "author": author_name, "date": date_time, "text":actual_content} return result file_info=get_git_blame("example.txt") for k,v in sorted(file_info.items()): print(f"{k}: {v}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值