关于git的一些命令总结

1.Finder中显示隐藏目录和文件 / 显示.git隐藏文件

defaults write com.apple.finder AppleShowAllFiles  TRUE
回车 输入
killall Finder

如果想要隐藏,将TRUE 改为FALSE

2. git了一个项目在本地仓库里,然后又把这个东西copy到了另外一个目录,在另外一个目录里面做了好多修改
现在要把这些修改提交到远程仓库,怎么搞?

  把这个项目拷贝回本地仓库去覆盖原文件,然后直接提交就行
本地仓库是你checkout时的路径,成功后,两个之间的区别依然能够看到

  如果不成功,有可能会显示没有git这个仓库 fatal: Not a git repository (or any of the parent directories): .git,或者There was a problem with the editor 'vi'. Please supply the message using either -m or -F option
  先显示隐藏目录,查看本地仓库的.git 或者.DS_STORE或者.swap总之删除多余(可以和没有问题的另一个本地仓库(commit过东西)对比,多余的删除)的,然后执行commit操作
  

3.Your branch is ahead of 'origin/master' by 1 commit

    本地仓库 有一个commit ahead原来的master,就是本地仓库有一个提交,比远程仓库要先进一个commit。git push origin master之后,再用git  stays

4.  git如何删除本地所有未提交的更改
   1. git clean -df
     2. git reset --hard
但问题是第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。而第二个命令只把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。

   git checkout . && git clean -xdf
  
  
  一般 git clean都是配合git reset 使用的 
  如果你有的修改以及加入暂存区的话 
  那么  
  git reset --hard 
  git clean -xdf 
   如果没有加入暂存区的话 ,见楼上答案
5. git如何永久删除.DS_Store ,并且以后也再不会add进来
来到你的仓库,依次在终端敲如下命令 #号表示注释
 
  
# remove any existing files from the repo, skipping over ones not in repo
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
# specify a global exclusion list
git config --global core.excludesfile ~/.gitignore
# adding .DS_Store to that list
echo .DS_Store >> ~/.gitignore
git commit -m '.DS_Store banished!'
5.  git回退到某个版本
我的没有分支,最新的版本库目录下log如下:
。。。。//前面省略
commit 11ca321d0dd46bf520f2f4cdc7f40ffaba2e5795
Merge: 7d84699 5c6a337
Author: 123 <879@ubuntu.(none)>
Date:   Thu Oct 13 15:55:06 2011 +0800

    Merge branch 'master' of 192.168.1.5:android71542301

commit 7d846995fa9ec85d9d0b39f393187dc0d3d222fa
Author: xxx <123@ubuntu.(none)>
Date:   Thu Oct 13 15:53:33 2011 +0800

    light ov5640 
我想回到上面的红色标记提交之前的状态,
在当前目录下
git checkout 11ca321d
当前目录下的代码就是与红色提交之前的代码完全一致,是这样操作吗?

猜你喜欢

转载自blog.csdn.net/ai_pple/article/details/50997608
今日推荐