git clean -fd 删除untracked files
git clean -xfd 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -nxfd
git clean -nf
git clean -nfd 在用上述 git clean 前,强烈建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clone git@gitlab.xxx.xx 需要输入密码,可能是没有添加key到gitlab。
GIT 介绍
GIT 集中式工作流:每笔提交都要到master。
Git功能分支工作流:一笔提交可以先提交到分支,多笔提交一起提交到master。
使用HTTPS协议,ssh 形式的git:
git remote set-url origin git@gitlab.hobot.cc:HCPG/j3-prototype-bsp/kernel-proto.git
git config --global url."https://gitlab.hobot.cc/".insteadOf "git@gitlab.hobot.cc:"
使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名。
$ git config --global user.name "Robin Hu"
$ git config --global user.email "hudashi@gmail.com"
git默认的编辑器是GNU nano这样的编辑器,我可以通过如下的命令把它设置为vim编辑器
git config --global core.editor vim
如果访问一个Git URL需要用法名和密码,可以在Git URL前加上 用户名 ,并在它们之间加上 @ 符合以表示分割,然后执行git clone命令,git会提示你输入密码。
示例
git clone robin.hu @ http://www.kernel.org/pub/scm/git/git.git
我们可以通过-b <name>来指定要克隆的分支名,比如
$ git clone -b master2 ../server .
本地分支和远程仓库建立关联:
git branch --set-upstream-to=origin/<branch> local_branch
1.将远程分支跟新到本地
a. git fetch gitlab br2.1:temp
b. git diff temp
c. git merge temp
d. git branch -d temp
2. 查看某个文件或某个文件的某一行的改动者信息
a. git blame etc/init.d/udev
b. git blame -L 10,20 database.py //表示查看10-20行的修改历史
c. git blame -L 10,+20 database.py //表示查看10再加二十行的修改历史
3. 回退版本
git reset --hard a30bc2ef1652aee51304b89360eb74ab94b6e15c //回退版本之后将没有之后提交的任何信息
4. 追踪分支
git branch --set-upstream-to=gitlab/br2.0 br2.0
5.比较新版本比旧版本多了哪些commit
git log --oneline --no-decorate LNX_PL2.0_WB_20210309...LNX_PL2.0_WB_20210303 //中间三个点, 前面新版本 后面旧版本
6.远程创建一个新分支,将arc land提交到新分支
a. git fetch gitlab
b. git branch -a //找到自己新建的分支
c. arc land --onto new_branch --remote gitlab
7.远程仓库如果对一个分支重命名,进行如下操作:
a. git branch -m main master b. git fetch origin c. git branch -u origin/master master d. git remote set-head origin -a 8.git log --oneline --no-decorate --left-right --cherry-mark br2.1...br2.0 这个命令是用来查看两个分支上的commit的差别,< = > 分别表示这个commit只在左边,都有,还是右边。 9.清空暂存区 git reset HEAD 文件名 10.将某个分支或者某个节点的代码合并至当前分支 git merge 分支名/节点哈希值 11.修改最近一次提交信息的commit信息: git commit --amend git push -f origin master 修改之前提交信息的commit信息: git rebase -i HEAD~2 //显示倒数的两次注释 将 pick 改为 reword 12. arc diff --update D104232