(转载链接)git的详细使用:手把手教你使用git git参考手册
git ssh key: Git SSH Key生成步骤
git stash : 储藏(stashing)
工作区删除了文件,若暂存区也须删除,可用 git rm <file>
git rm <file> 暂存区删除文件,可多个,空格分隔
若大批量增、删、改文件,显然一个个添加或删除是不可取的,一下命令可快捷操作暂存区:
git add -A 暂存区与工作区保持一致(stages All)
git add . 暂存区新建文件及更新文件(stages new and modified, without deleted)
git add -u 暂存区删除文件及更改文件(stages modified and deleted, without new)
说明: git add -A 相当于执行以下两条命令: git add . ; git add -u
关于git pull的问题,如何在不commit的前提下pull回来?
场景:甲修改了文件A并且push到了git server上,这时乙也在修改文件A,他想看一下甲修改了什么,于是从git server上pull下来,但是会遇到这样的提示:
error: Your local changes to the following files would be overwritten by merge:
文件A
Please, commit your changes or stash them before you can merge.
可是乙不想把他未完成的修改commit,请问这个时候要怎么操作?或者可以先把文件A暂存起来?并且可以在日后push的不保留记录?
命令: git stash
git pull
git stash pop
删除储藏: git stash drop
排除掉不想提交的文件:
echo “*.iml”>.gitignore //设置git忽略文件
删除git远程仓库中的文件
1、git rm .idea -rf //删除这个.idea文件夹
2、然后提交到本地仓库,告诉本地仓库我删除了这个文件
git commit -m “remove .idea”
3、最后Push到远程仓库,远程仓库的文件就会被删掉
git push origin master
git删除远程文件夹或文件的方法(本地保留):
如下,我把src里的全部移除,但是本地文件还保留。
git rm -r -n --cached */src/\* //-n: 加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
git rm -r --cached */src/\* //最终执行命令.
git commit -m"移除src目录下所有文件的版本控制" //提交
git push origin master //提交到远程服务器
若用git status命令查看,则/src/目录下文件出现在结果列表里, 我们不希望这个目录下的文件出现,则在项目根目录下,和.git 同级目录下,新建一个.gitignore文件,
把.gitignore提交到远程服务器。 则/src目录就不会被提交了。
git 合并远程分支:
1、把源码clone到本地库中。
git clone my_git_site
2、在本地新建一个与远程的0.2版本相同(被合并的版本)的0.2分支
git checkout -b 0.2 origin/0.2
3、返回到master版本
git checkout master
4、把本地的0.2合并到master
git merge 0.2
5、把本地的master同步到远程
git push origin master
git删除分支:
git branch -a //查看所有分支
git push origin --delete HEAD // 删除HEAD分支
Git中从远程的分支获取最新的版本到本地有这样2个命令:
git fetch 与 git pull
(1)git fetch: 相当于从远程获取最新版本到本地,不会自动merge。
(2) git pull: 相当于从远程获取最新版本并Merge到本地。
git pull命令是先执行git fetch, 然后再执行git merge,在实际中,使用git fetch会更安全一下。
创建新的仓库:
在本地:
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit -m “XX” 提交文件 –m 后面的是注释。
在远程,新建一个项目,然后
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push -u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
1.在本地目录下关联远程repository :
首先创建项目:例如码云中创建项目 git@github.com:git_username/repository_name.git为项目地址
git remote add origin git@github.com:git_username/repository_name.git
2.取消本地目录下关联的远程库:
git remote remove origin
执行命令后删除项目根路径下的.git文件夹
git常用命令:
(一)创建版本库命令:
步骤 1、$git add 文件名
2、$git status 提交文件前查看状态
3、$git commit -m “备注”
4、$git status 提交文件后再查看一次状态
(二)创建合并分支:
1、查看分支命令:$git branch
2、创建并切换dev分支 $git checkout -b name
说明:dev为分支的名字,可以根据需求更换
上面的命令相当于如下两条命令:
git branch name
git branch
3、切换分支:$git branch name
4、将某个分支合并到master分支上面
$git merge name
5、master合并分支以后,可以删除分支:
$git branch -d name
6、从远程分支上拉代码:
$git pull origin dev-name
(三)Git基本常用命令如下:
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit -m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git log --pretty=oneline 查看一行简要的历史记录
git reset --hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push -u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch -d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote -v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上