1、Linux编译机一个账户(如root)只能设置一个人的ssh key(因为ssh路径为/root/.ssh),对一个git仓进行push,但所有人都可以git clone、git pull
2、git diff:查看修改后的文件内容(commited与modified对比) 编译机构建后git diff很多不同是由于文件权限变更导致(755->777),git中可以加入忽略文件权限变更的配置。
3、git中加入忽略文件权限变更的配置:
-
$ git config core.filemode false // 当前版本库
-
$ git config --global core.fileMode false // 所有版本库
4、git add 当前新目录 当前文件 ./路径/新目录 ./路径/目录/新文件 以空格隔开
5、git commit -m “提交的信息”
git commit --amend // 追加改动到上一次commit中
参考资料:如何更改某个提交内容/如何把当前改动追加到某次commit上?
6、git remote add A Aurl:将远程仓库的地址赋值给变量“A”
- 添加一个<远程主机名>叫A,Aurl为github上的仓库链接
- git pull/push不同远程分支操作:
git push <远程主机名> <本地分支名> <远程分支名> | git push origin br_local br_remote | 用的是源宿的概念 |
---|---|---|
git pull <远程主机名> <远程分支名> <本地分支名> | git pull A br_remote br_local | 用于拉取/推送不同的远程分支到本地 |
- git push学习链接:git一个本地仓库推送到多个远程仓库,只推送到指定的远程仓库
7、git reset --hard 475ca21 分支回退,代码丢弃
8、git reset –mixed commit号 分支回退,代码保留
9、git push --force origin 远程分支
10、git log --oneline 显示commit信息
11、git show [commit id] :显示commit id对应的内容
12、 git clone ssh链接 -b mybranch :clone远程仓库,同时切换到mybranch分支
13、git checkout . : 丢弃所有修改的文件 (git未跟踪的文件不管,只能处理git跟踪的)
14、git checkout 文件名 :丢弃该文件的修改(只能处理git跟踪的)
15、git clean -xdf 删除git没有追踪的文件(编译构建生成的中间文件,可以用此命令删除)
16、Git rebase应用:git rebase用于把一个分支的修改合并到当前分支。
- 在当前分支下:git rebase 【其他修改的分支】:将【其他修改的分支】的新commit节点换在当前分支新commit节点的前面
- 我们在使用git pull命令的时候,可以使用–rebase参数,即git pull --rebase,这里表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把本地当前分支更新 为最新的远程分支,最后把保存的这些补丁应用到本地当前分支上。
- git rebase 学习链接:git rebase简介(基本篇)
17、想要初始化一个git仓库,git init报失败解决办法:
一种原因:是由于当前文件夹下已经有.git文件(错误的文件),删掉当前目录下与git相关的文件,再次执行git init即可;
本地文件夹下.git文件与编译机上.git文件不同会导致sftp失败,删除本地再执行sftp即可
18、git add -A(添加所以文件,git add .一样)