repo/git常用命令

Set up Git - GitHub Docs

SVN是集中式管理,只在服务器上存在完整的历史记录

GIT是分布式管理,每个人都拥有一个完整的仓库

repo/git常用命令_第1张图片

 

Repo/GIT

cd .repo/rep
git pull origin
repo start master --all 在每个git下建立本地名称master的分支

查看当前git库的配置信息

cat .git/config

如果不知道git库对应的路径,可以到.repo目录下查看manifest.xml文件,project和path一一对应

添加git全局范围的用户名和邮箱:

git config --global user.email [email protected]
git config --global user.name 123

git config --global --unset user.name
git config --global --unset user.email

git clone 时增加 --depth 参数,进行浅克隆,只克隆指定数量的历史记录。代表只克隆最近一次 commit 的分支

git clone --depth=1 https://github.com/test/test.git 

浅克隆后怎么获取完整内容?将浅层存储库转换为完整存储库

git pull --unshallow 或者 git fetch --unshallow

清除一些自动生成文件

git clean -dfx

查看文件修改历史:

git blame 文件名

git diff比较的是工作目录中当前文件和暂存区域快照之间的差异, 也就是修改之后还没有暂存起来的变化内容。

git diff *

若要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --cached 命令。git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有,就是这个原因。

 git diff --cached 

对所有的git库做reset动作,和服务器分支对齐,repo forall -c 是递归操作的意思

repo forall -c "git  reset --hard HEAD;"

提交修改:

git branch -a
git branch -D
git checkout -b branchname remoteBranchName 新建分支
git checkout branchname 切换分支
git push branchName HEAD:refs/drafts/remoteBranchName 草稿
git push branchName HEAD:refs/for/remoteBranchName 正式

git push origin HEAD:refs/for/master

git commit -m 
git commit --amend
repo upload . --cbr

apply diff文件,需要进入到当前git的根目录

git diff 当前分支名字> patch.diff 可以产生diff文件

git apply --ignore-whitespace --directory=正确的目录    使用diff文件

对于已经git add的文件做撤销处理:

git reset HEAD^ filePath/fileName

清除修改可以

git reset commitid

git checkout filepath/filename

查看一个文件依赖的接口

arm-linux-guneabi-readelf -a processname |grep NEED

 从git add里删除文件

git rm 

git rm  --cached
git help commond 查看帮助

git help diff

repo help  查看和repo相关帮助

 TortoiseGit

TortoiseSVN

你可能感兴趣的:(Linux,git,github)