代码改变世界

git 基本操作

2018-12-10 10:23  Tony、  阅读(230)  评论(0编辑  收藏  举报

 


$ git clone 克隆 $ git clone git://github.com/jquery/jquery.git

git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update

git add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的add

git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m story #3, add user model',提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commit

git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中

$ git branch [分支名称] 创建本地分支 eg:$ git branch myLocalBranch 创建myLocalBranch本地分支

$ git merge [分支名称] 将分支合并到当前分支 eg $ git merge master 将master分支合并到当前分支

$ git remote -v 查看远程仓库:

$ git checkout [name]切换分支:

$ git push origin --delete branchName 删除远程分支
$ git branch -D BranchName 删除本地分支

$ git push origin test:master 提交本地test到远程的master分支

$ git branch --set-upstream-to=origin/myTest 将本地分支于远程myTest分支关联

$ git push origin master:myTest 通过本地master创建一个远程myTest分支
$ git checkout -b my origin/myTest 拉取远程分支myTest并在文本创建一个my分支
$ git checkout -t origin/myTest 拉去同名分支(拉取远程分支myTest并在文本创建一个myTest同名分支)


$ rm filename / rm dir -rf 撤销新增加的文件或文件夹

$ git clean -xdf 撤销所有新增的文件 // 删除新增的文件,如果文件已经已经git add到暂存区,并不会删除!

git remote prune origin //同步线上删除的分支
git fetch //同步线上新增的分支

git merge Test 将Test分支与当前分支合并

//回滚到指定的commitId
1 git checkout 283b5945c4ca2357da0a013a75d2df0b43ceb7f7 获取commitId 这个分支
2 git checkout -b test //在本地创建要给test分支来代替commitId这个分支
3 $ git push origin test:Test 通过本地test创建一个远程test分支
4 git branch --set-upstream-to=origin/Test 将本地分支于远程Test分支关联

回滚
未使用 git add 缓存代码时。
修改/删除:git checkout -- 文件名 (放弃指定文件的修改)或者 git checkout . (放弃所有的文件修改) git checkout wx/static/js/(放弃指定文件下所有的修改)
已经使用了 git add 缓存了代码
修改/删除:git reset HEAD filepathname (放弃指定文件的缓存)或者git reset HEAD . (放弃所有的缓存修改)
比较不同
git diff test origin/xxx 比较本地的test分支和远程的xxx分支的不同
git diff branchA branchb 比较本地分支的不通