git命令
git帮助
查看帮助: git help
看指定命令: git help clone
搜索关键字: /clone 【翻页:f 下一页 , B上一页】
退出文档: Q
常用操作
- 克隆原程仓库到本地仓库: git clone 仓库地址 当前文件夹下面
- 同步到服务器不用每次输入密码: git config --global credential.helper cache
- 创建分支,切换分支: git branch testing , git checkout testing
- 新建分支并将当前分支内容同步到新建分支: git checkout -b test1
- 查看项目分叉历史: git log --oneline --decorate --graph --all
- 将新建分支修改内容同步到master: 先 git checkout master , 在 git merge test2
-- 如果两者有共同修改的文件, 使用git status 会看到,然后使用vi 命令操作之后,在使用git add , git commit -m '注释' 一遍即可 - 从服务器其拉取数据和分支, 然后制动合并更新: git pull , 相当于 git fetch test1 ; git merge test2
- 将test1分支合并到master分支: git rebase master test1
- 分支合并后,删除无用分支: git branch -d test1
本地移交命令
- 初始化git本地仓库: git init
- 查看文件状态: git status
- 新建文件添加【颜色变绿】: git add 文件名
-- 添加多个文件到git : git add .
-- 提交: git commit -m "注释"
- 文件从暂存区提交到git: git commit 文件名 -m "提交时文件备注"
- 红色文件是没有git管理的文件 ,绿色文件: 文件加入到了暂存区 红色文件是没有git管理的文件 ,绿色文件: 文件加入到了暂存区
- 查看日志: git log
- 配置别名 git config --global alias.st "status"
- git reset --hard HEAD^ --》一个^代表回退一个版本; git reset --hard 99899ss[代表版本号];
- 查看每一步操作,日志记录: git reflog
- 初始化服务器: git init --bare
多人合作开发
- 初始化服务器: git init --bare
- 克隆代码: git clone /User/dream/desktop/project
- 去gitHub 搜索.gitignore ,然后找到oc的忽略文件去gitHub 搜索.gitignore ,然后找到oc的忽略文件
- 拷贝所有内容,来到终端
- echo -e"(com + V 输入粘贴内容)" > .gitignore
- 保证.gitignore 跟.git 在同一目录下 (.git 这个目录是git管理的目录)
- 将.gitignore 推送给远程服务器 add / commit / push (一定要在创建项目之前)
- 推送本地分支代码给服务器: git push 推送本地分支代码给服务器: git push
- 新人加入之前,一定要配置账号,否则默认全局,而且要在commit 之前配置账号信息
- 拿到最新代码: git pull
- 初始化下载代码: $ git clone https://github.com/libgit2/libgit2 (mylibgit2)自定义文件夹名
- 检出分支并同时切换到该分支: git checkout -b iss53
删除远程服务器上的文件
git rm --cached -r usermkdir
git commit -m 'remove dirctory from remote repository'
git push
常见报错或问题
- git pull 报错: fatal : refusing to merge unrelated histories
解决方案: git pull origin master --allow-unrelated-histories
- 解决git merge 分支名 或者 git checkout 分支名 时报错:error: the following untracked working tree files would to overwritten by checkout
解决方案: git clean -d -fx '.idea/workspace.xml'
常用的一些命令记录
git remote --v
git remote --h
git push -u mor --all
git pull mor master
git commit -a -m '注释' :一步提交
git checkout -b user1
git rm
git mv 重明名
git diff
git branch -a
tree -a
git merge user
git remote add origin 仓库地址
git remote rename origin originold
git reset --hard 版本号
git push -f
如果已经建立了远程分支uat,自己本地也建立了一个uat, 那么可以使用下面这条命令关联两个仓库
git branch --set-upstream-to=origin/uat uat
1.本地修改了文件(没有git.add的文件),放弃修改:
git checkout .
2.本地新增了文件(没起有git.add的文件),想放弃新增:
单个文件,
rm filename / rm dir -rf
所有文件夹
git clean -xdf
*如果文件已经已经git add到暂存区,并不会删除!
3.已经git add到暂存区,想放弃修改:
git reset HEAD .
4.本地已经git add 和git commit 之后想要撤销此次操作的
(撤销之后,你所做的commit修改还在工作区!)
git reset commit_id
查看commit_id
git log
撤销之后,你所做的commit修改将会清除,仍在暂存区的不会清除:
git reset --hard commit_id