Git

Git下载

https://git-scm.com/download/win

Git常用语句

$ git init //初始化仓库,然后关联远程仓库

$ git clone https://github.com/AutKevin/JAVA   //克隆服务器仓库到本地,如果是为了直接克隆远程仓库到本地,直接执行此步骤,不需要init

$ git remote add JAVA https://github.com/AutKevin/JAVA //关联到远程库,JAVA为远程仓库命名的name,https://github.com/AutKevin/JAVA为url

$ git pull  //获取远程库文件

$ git add .  //添加要上传的文件,为.时表示当前文件夹下的所有

$ git rm file -r  //删除文件

$ git commit -m 'first commit'  //文件提交到仓库,添加备注

$ git push  //推送到远程库

$ git push -u JAVA master  //推送到远程仓库,JAVA为远程仓库的name,master为分支名

$ git diff  //查看workspace和缓存区之间的区别

$ git status  //查看状态

$ git remote -v  //查看目前链接的远程仓库

git branch -a  //查看远程仓库的所有分支

git help查看命令帮助

官方例子

初始化一个仓库

git init   //初始化本地仓库
git add README.md   //添加文件
git commit -m "first commit"   //提交到本地仓库
git remote add origin git@github.com:AutKevin/ProjectName.git  //将本地仓库关联到远程仓库,并将远程仓库名命名为origin
git push -u origin master  //推送到远程仓库名为origin的master分支

将本地一个已有的库推送到服务器

注意!!!这里的远程仓库一定要是新建的仓库,因为本地仓库刚init不是clone下来,如果直接-f push上去会导致远程仓库之前所有的内容消失
如果是已经存在的仓库,要先pull下来再push,如果不想pull可以新建一个分支
git init  //本地仓库初始化
git remote add origin git@github.com:AutKevin/ProjectName.git  //添加远程仓库,并命名为origin。
git add .   
git commit -m "first commit"
git remote -v   //查看所有远程仓库名
git branch -a   //查看所有分支名
git push -u origin master   //推送到origin远程服务器的master主分支

git pull命令

$ git pull <远程库名> <远程分支名>:<本地分支名>

等同于先做了git fetch ,再做git merg。

git fetch origin online    //从远程服务器origin,online分支拉到本地仓库
git checkout online     //切换到online分支
git merge origin/online   //将拉到本地仓库的和工作空间合并

Git撤销git commit 但是未git push的修改

1. 找到上次git commit的 id

     git log 

     找到你想撤销的commit_id

2.  git reset --hard commit_id

      完成撤销,同时将代码恢复到前一commit_id 对应的版本。

3. git reset commit_id 

     完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改。

Git下载指定文件夹下的文件

复制github中指定目录的url,将将“tree/master”改成“trunk”再运行svn checkout url即可

svn checkout giturl

创建分支

基础命令

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

一个分支代表一个功能点,开发完之后要new一个pull request(拉请求,用于告诉所有成员有新的功能被添加)。然后merge到master上,再删除分支。若是功能开发失败,直接删除即可,不影响其他分支开发。

git checkout -b dev   //创建并切换到分支,相当于如下两个命令
/* 
$ git branch dev    创建分支
$ git checkout dev   切换分支
*/
git branch  //查看分支

git add readme.txt    //添加文件
git commit -m "branch commit"   //提交

git checkout master   //切换到主分支
git merge dev    //合并dev分支,merge用于合并指定分支到当前分支
git branch -d dev   //删除本地dev分支
git branch    //查看分支
git push [origin] --delete [branchname] //删除远程仓库分支,orign为远程仓库名,branchname为分支名

GitHub常用插件

Octotree 左侧形成树

OctoLinker 跳转到文件

enhanced-github 显示文件大小,并单独下载github中的文件

GitHub常用技巧

文件名搜索

源码浏览页面,按T键可以快速进入模糊文件名搜索模式

分支过滤

仓库主页,按W键可以快速进行分支过滤

快捷键提示

在任何界面,?键可以弹出快捷键提示

GitHub搜索技巧

搜索仅包含 fork过的项目,在搜索条件中加入fork:true或fork:only

搜索项目名称中包含关键字的 in:name

搜索描述中包含关键字的 in:description

搜索readme中包含关键字的 in:readme

搜索username中包含关键字的 user:USERNAME

搜索组织或机构名包含ORGNAME的 org:ORGNAME

按项目大小(单位K)搜索 size:n

根据fork数量搜索 forks:n

根据star数量搜索 stars:n

根据编程语言搜索language:LANGUAGE

根据路径(不含文件名)搜索 SearchPath in:path

例:

要搜索的内容 in:description language:java stars:>10 forks:>10 size:>100

参考

https://blog.csdn.net/kabulore/article/details/51801337

https://www.cnblogs.com/phpper/p/7136048.html

原文地址:https://www.cnblogs.com/aeolian/p/git.html