A
常用命令
1、Git命令行方式提交代码:
git add ./
git status
git commit -m ’log’
git push
git log
2、Git修改日志,只有1个commit命令。
git commit --amend -m "这里填写提交的注释"
3、Git补交遗漏的代码修改。不会产生新的提交,commit id改变,commit msg不变。同时Gerrit中增加一条信息 XXX Uploaded patch set 2。
git add ./
git commit --amend --no-edit
git push origin HEAD:refs/for/master
4、Git恢复本地误删的文件,总共三条命令,截图参考网站:
http://www.debug5.com/detail/285/
# 需要将这些更新取回本地,这时就要用到git fetch命令。
# 撤销本地、暂存区、版本库(用远程服务器的origin/master替换本地/暂存区/版本库)
# git pull来从远程仓库"同步"代码
git fetch --all
git reset --hard origin/master
git pull origin master
TortoiseGit 恢复本地误删的文件参考网站:
https://blog.csdn.net/lizhikang2009/article/details/51239723
5、Git命令详细教程参考以下2个网站:
https://www.liaoxuefeng.com/wiki/896043488029600
https://www.runoob.com/git/git-workspace-index-repo.html
B
git patch
https://baijiahao.baidu.com/s?id=1624334022177685944 如何使用git 生成patch 和应用patch。
先要进入git根目录,从最后一次提交算起,
git format-patch -5 -o /d/patch/
某次提交以后的修改(不包含该次提交),
git format-patch de85add54522b7ca3b7ad99c7c5ea24525d39ba0 -o /d/patch/
两个commit间的修改(不含起点),
git format-patch 7f581e5fabbed2...de85add54522b7 -o /d/patch/
git format-patch详解:
https://blog.csdn.net/qq_42001737/article/details/119891066
git apply --stat 0001-xxx.patch //检查补丁文件
git apply --check 0001-xxx.patch //查看是否可以应用成功
git apply 0001-xxx.patch //实际应用补丁
Patch format detection failed.可能意味着您使用了错误的命令:使用git apply代替git am。https://www.thinbug.com/q/49313250
"fatal: previous rebase directory .git/rebase-apply still exists but mbox given."
一般来说之前执行git am失败过,需要执行git am --abort。
https://blog.csdn.net/m0_37780254/article/details/115334845 patch格式解释。一般前后各保留三行未修改行,便于观察。
git diff 制作的.patch不含commit信息, git format -patch制作的patch包含commit信息。
C
Git配置
Linux/Ubuntu安装 Git:
https://blog.csdn.net/qq_27006271/article/details/108140048
sudo apt-get install git
本地配置:
git config --global user.name "'xxx"
git config --global user.email "'xxx@xx.com"
ssh-keygen -t rsa -C ' xxx@xx.com'
上传公钥:
cd ~/.ssh
gedit id_rsa.pub
Windows下Git的SSH配置命令一样,具体图文可参考:
https://www.cnblogs.com/xiuxingzhe/p/9303278.html
D
TortoiseGit配置
https://blog.csdn.net/qq_35495339/article/details/92847819
TortoiseGit有两种下载方式:https和ssh。https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加SSH key,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
https://www.cnblogs.com/xiuxingzhe/p/9312929.html详细介绍了TortoiseGit的https配置过程,配置好.gitconfig后就可以下载代码了,注意这时候只能下载https网址。如果想使用SSH方式,继续往下看。
https://blog.csdn.net/question_720520/article/details/80654599 详细介绍了TortoiseGit的SSH配置过程。
以上只是在个人电脑上安装和配置git软件,下载别人建好的git仓库。不涉及在服务器上创建私有git仓库,国外网正常的话,建议在https://github.com/上创建账号练习一下。Github是一个开源的代码仓库,如果你不想要开源自己的代码就需要花钱。国内网可以选择CSDN创办的https://gitcode.net/。
如果公司想搭建一台Git服务器作为私有仓库只供内部使用,请参考https://www.runoob.com/git/git-server.html
简介
1、TortoiseGit和Git都是git版本管理控制系统的客户端,两者差别是:Git主要是命令行操作模式,附带简易功能的GUI界面。TortoiseGit全部是GUI界面化操作模式。
2、Git与SVN的差别:Git是分布式版本管理系统,版本库就在本地电脑上,SVN是集中式版本管理系统,版本库在服务器上。也就是说SVN必须在服务器端创建代码仓库,客户端才能提交代码、查找历史记录。而Git在本地就可以创建代码仓库、提交代码、查找历史记录。这就是为什么Git将代码commit到本地代码仓库后还要push到远程代码仓库,而SVN只需要commit到服务器。如果只是管理个人代码,不需要与他人同步代码、协作开发,显然git具有优越性(如果此时使用SVN,需要在个人电脑上同时安装VisualSVN+TortoiseSVN)。
微信扫一扫,关注公众号“音频算法与工程实践”