git常用操作

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

上一篇:git拉取远程分支并切换到该分支


下一篇:SPOJ NSUBSTR