git常用命令

批量添加文件:

git add .   添加新文件和被修改文件,不包括被删除文件,包括子目录,但是不包括空目录,并且会根据.gitignore做过滤

git add * 会忽略.gitignore把任何文件都加入

git add -u  监控已经被add的文件, 不会提交新文件

git add -A  添加所有状态的文件,是上面两个功能的合集

只添加指定文件:

git add filename.txt
git add *.txt

查看文件:

git ls-files  查看已存放文件
git status    查看还没添加的文件

回退:

git reset HEAD    未commit,回退某个文件
git checkout --    未commit,回退某个文件
git checkout .  未commit,回退本地所有修改的。没有的提交的,都返回到原来的状态
git checkout   回退到hash码指定的版本

git reset --hard   已commit, 返回到某个节点,不保留修改。
git reset --soft   已commit, 返回到某个节点,保留修改

git reset --hard HEAD^    已commit,回退到上一个版本, HEAD 和当前 branch 切到上一条commit 
git reset --hard HEAD     表示回退当前版本,HEAD指向当前版本

强制覆盖:

    git fetch --all

    git reset --hard origin/master

    git pull

#去掉回车换行转换
git rm -r --cached .   注意 这里是有 "." 的,  ". " 代表当前目录
git config core.autocrlf false

提交设置:

git config --global user.name "your git account name"
git config --global user.email "your email  with which registered on git"

提交:

git commit -m  "..."   提交新文件

git commit -am "..." 只提交修改了的文件

git push

git push -u origin master

查看远程服务器地址URL:
git remote -v

提交大文件报错,假若当前提交含有大文件:

git add .
git commit -m "Initial commit"
git push

提示:Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com

先安装git-lfs:

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
git reset
apt-get install git-lfs
git lfs install

对所有的大文件执行git lfs track "filename"和git add .gitattributes,例如git lfs track "*.caffemodel"把需要提交的文件加入track,这一步成功后会生成一个gitattributes文件:

    git lfs track models/c3d/c3d_ucf_model-4999.caffemodel    #生成.gitattributes

    git add .gitattributes   #添加并commit gitattributes文件

    git commit -am "gitattr for big file"  #需要先将 .gitattributes文件单独commit并push,
    git push           #push时需三次输入用户好口令. 

完成.gitattributes文件的提交之后,再进行提交大文件
    git add  models/c3d/c3d_ucf_model-4999.caffemodel
    git commit -m "training iteration 4999 of c3d model"
    git push   

#如果还报上面的"Large files detected. You may want to try Git Large File Storage"错,先备份文件,然后执行下面这个非常危险的命令,完全删除本地的所有文件退回到初始状态,然后再track、add和commit以及push: 
git reset --hard origin/master

git lfs ls-files

 

#如果因为某些原因某个目录下的文件没有提交,再次git add和commit时说没有任何更新而提交不了,可以先清理这个目录,然后再git add和commit和push:
git rm -r --cached
git add

git commit -m "..."
git push

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