您的位置:首页 > 其它

git 1天入门,使用大全

2017-02-15 17:15 211 查看
git add file                  
添加文件
git commit  -m  file          
执行添加文件
git status                
查看仓库的状态
git diff file                
查看文件修改的差异
git log --stat                      
有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了
git log                                
查看提交日志
git log --pretty=online     
查看提交日志简易
git log --graph                  
可以看到分支合并图。--pretty=online 简易版
git log  -g            
git reset --hard HEAD~2(【^ 上一个版本】,【^^ 上二个】,【~N 上N个版本】)
时光穿梭,返回以前的版本,把暂存区的修改撤销掉
git reset --hard  824df556f655185766e514690b136b09825026ca  
回到那个那个版本号时候
git reflog                 
查看命令历史,查看到HEAD~N是多少
git checkout -- file        
把file文件在工作区的修改全部撤销,是让这个文件回到最近一次git commit或git add时的状态。
git rm file                 
那就用命令git rm删掉,并且commit 对于untrack的文件,我们可以创建.gitignore文件。
git update-index --assume-unchanged <files>  
  忽略修改的文件,,这样,即使已经更改了文件,用git status也不会看见文件已经更改。
git update-index --no-assume-unchanged <files>    
取消忽略修改的文件,但在使用时需要小心,取消这种设定可以使用

<---------------远程库-------------------->
 ssh-keygen -t rsa -C "4764517589@qq.com"
创建SSH Key 
windows地址 Users/Administrator/.ssh    
window 需要在git环境下执行ssh命令

git remote add origin(远程库名) git@github.com:chenpeng73233/git.git    添加一个远程库
git remote rm  name                            
删除本地一个本地仓库
git remote -v                                 
查看所有仓库
git remote rename name newName              
仓库从命名
git remote set-url origin URL            
修改仓库地址
git push -u origin master                            
把本地库的内容推送到远程(新推送)
git push origin master                                 
把本地库的内容推送到远程   
git push --force                                          
强制推送覆盖线上版本
git clone git@github.com:chenpeng78/clone.git                 远程克隆到一个本地库 首先:准备 创建一个新的仓库我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件 
git clone  -b  <branch> <remote_repo> 例如: git clone -b 指定的分支名字

git branch                    
查看分支:
git branch name                    
创建分支:                
git checkout name                
切换分支:
git checkout -b name            
创建+切换分支:
git merge name                    
合并某分支到当前分支:
git branch -d name                
删除分支:
git push origin --delete <branchName>  
删除远程仓库分支
git rm --cached file             
从仓库中删除文件。
git merge --no-ff -m "merge" dev     准备合并dev分支,请注意--no-ff参数,表示禁用“Fast forward”:
git stash                     
可以把当前工作现场“储藏”起来
git stash list                   
工作区是干净的,刚才的工作现场存到哪去,命令看看
git stash pop                    
恢复的同时把stash内容也删了
git stash apply stash@{0}        恢复     你需要用git stash drop来删除
git branch -D name               
强行删除分支
git remote                    
查看远程库的信息(有哪些远程库)
git remote -v                     
显示更详细的信息 抓取和推送的origin的地址
git clone git@github.com:chenpeng78/git.git     默认情况下,克隆的是master   
git checkout -b dev origin/dev                 创建远程origin的dev分支到本地
git checkout filename                 
丢弃工作区的改动
git reset --hard origin/master            
将本地的状态回退到和远程的一样 , 丢弃所以的工作区的改动
git branch --set-upstream dev origin/dev        设置dev和origin/dev的链接
git pull                                
抓取远程数据
git tag v1.0                        
打开一个新标签
git tag                            
查看标签
git log --pretty=oneline --abbrev-commit        找到历史提交的commit id,然后打上就可以了
git tag v1.0 6224937               提交打标签
git show v1.0                         
查看标签信息
git tag -a v0.1 -m "说明" 3628164            还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字 
git tag -s v0.2 -m "说明" fec145a            还可以通过-s用私钥签名一个标签
git tag -d v1.0                        
删除标签
git push origin v1.0                  
把标签推送到远程
git push origin --tags                
一次性推送全部尚未推送的标签
git push origin :refs/tags/v1.0             
从远程删除标签
git config --global alias.st status            告诉Git,以后st就表示status
git config --global alias.unstage 'reset HEAD'
git config core.fileMode false            
忽略文件权限差异    
    
    <---- 假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中----->
$ git fetch origin    //取得远程更新,这里可以看做是准备要取了
$ git merge origin/master  //把更新的内容合并到本地分支/master
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git git log